KindEditorÉÏ´«·ì϶°²È«¹«¸æ
°ä²¼¹¦·ò 2019-02-21·ì϶±àºÅºÍ¼¶±ð
CVE±àºÅ£ºÎÞ£¬Î£ÏÕ¼¶±ð£º¸ßΣ£¬CVSS·ÖÖµ£º¹Ù·½Î´ÆÀ¶¨
Ó°Ïì°æ±¾
Kindeditor <= 4.1.11°æ±¾
·ì϶¸ÅÊö
KindEditor ÊÇÒ»Ì׿ªÔ´µÄÔÚÏßHTML±à×ëÆ÷¡£
½üÈÕ¼à²â·¢ÏÖ½ü°ÙÆðµ³Õþ»ú¹ØÍøÕ¾±»Ö²ÈëÉ«Ç鏿°×Ò³Ãæ£¬·ÖÎö·¢ÏÖ±»Ö²ÈëÉ«Ç鏿°×Ò³ÃæµÄÍøÕ¾¶¼Ê¹ÓÃÁËKindEditor±à×ëÆ÷×é¼þ¡£±¾´Î°²È«ÊÂÎñÖØÒªÓÉupload_json.*ÉÏ´«Ö°ÄÜÎļþÔÊÐí±»Ö±½ÓŲÓôӶøÊµÏÖÉÏ´«htm¡¢html¡¢txtµÈÎļþµ½·þÎñÆ÷£¬ÔÚÏÖʵÒѼà²âµ½µÄ°²È«ÊÂÎñ°¸ÀýÖУ¬ÉÏ´«µÄhtm¡¢htmlÎļþÖдæÔÚÔ̺¬Ìø×ªµ½Î¥·¨É«ÇéÍøÕ¾µÄ´úÂ룬¹¥»÷ÕßÖØÒªÕë¶Ôµ³Õþ»ú¹ØÍøÕ¾Ö´ÐÐÅúÁ¿ÉÏ´«£¬½¨ÒéʹÓøÃ×é¼þµÄÍøÕ¾ÏµÍ³¾¡¿ì×öºÃ°²È«¼Ó¹ÌÅäÖã¬Ô¤·À±»¶ñÒâ¹¥»÷¡£
KindeditorÉϵÄuploadbutton.htmlÓÃÓÚÎļþÉÏ´«Ö°ÄÜÒ³Ãæ£¬Ö±½ÓPOSTµ½/upload_json.*?dir=file£¬ÔÚÔÊÐíÉÏ´«µÄÎļþÀ©´óÃûÖÐÔ̺¬htm¡¢html¡¢txt£º
extTable.Add("file","doc,docx,xls,xlsx,ppt,htm,html,txt,zip,rar,gz,bz2");
¸ÃÎļþ±¾ÊÇÑÝʾ·¨Ê½£¬ÏÖʵ²¿ÊðÖн¨Òéɾ³ý»òʹÓÃ֮ǰ×ÐϸȷÈÏÓйذ²È«ÉèÖ㬵«ºÃ¶àʹÓøÃ×é¼þµÄÍøÕ¾²¢Ã»ÓÐɾ³ýҲδ×öÓйذ²È«ÉèÖ㬴Ӷøµ¼Ö·ì϶±»ÀûÓá£
·ì϶ÑéÖ¤
POC/EXP£º
https://github.com/kindsoft/kindeditor/issues/249
$ curl -F "imgFile=@test.html" http://example.com/kindeditor/php/upload_json.php?dir=file
{"error":0,"url":"/kindeditor/php/../attached/file/20170613/20170613203236_37481.html"}
½¨¸´½¨Òé
GitHub´úÂë°æ±¾²âÊÔ£¬Kindeditor<= 4.1.11µÄ°æ±¾É϶¼´æÔÚÉÏ´«·ì϶£¬¼´Ä¬ÈÏÓÐupload_json.*Îļþ±£Áô£¬ÔÚ4.1.12°æ±¾ÖиÃÎļþÒѾ¸ÄÃû´¦ÖÃÁË£¬¸Ä³ÉÁËupload_json.*.txtºÍfile_manager_json.*.txt£¬´Ó¶øÔÙŲÓøÃÎļþÉÏ´«Ê±½«ÌáÐѲ»³É¹¦¡£KindEditor°æ±¾µÍÓÚ4.1.7´æÔÚĿ¼±éÀú·ì϶¡£
ĿǰÕë¶Ô¸Ã·ì϶µÄ¹¥»÷»î¶¯Õý±äµÃ»îÔ¾£¬½¨Ò龡¿ì×öºÃ°²È«¼Ó¹ÌÅäÖá£
Ö±½Óɾ³ýupload_json.*ºÍfile_manager_json.*¼´¿É¡£
½¨ÒéÍøÕ¾½¨É赥Ԫʱʱ¹Ø×¢ÆäϵͳʹÓõĿò¼Ü¡¢ÒÀÀµ¿â¡¢±à×ëÆ÷µÈ×é¼þµÄ¹Ù·½°²È«¸üв¼¸æ¡£
²Î¿¼Á´½Ó
https://github.com/kindsoft/kindeditor/issues/249


¾©¹«Íø°²±¸11010802024551ºÅ