WordPress 5.0.0 Ô¶³Ì´úÂëÖ´Ðзì϶°²È«¹«¸æ
°ä²¼¹¦·ò 2019-02-21·ì϶±àºÅºÍ¼¶±ð
CVE±àºÅ£º£º£ºÔÝÎÞ£¬£¬Î£ÏÕ¼¶±ð£º£º£º¸ßΣ£¬£¬ CVSS·ÖÖµ£º£º£º¹Ù·½Î´ÆÀ¶¨
Ó°ÏìÁìÓò
ÊÜÓ°Ïì°æ±¾£º£º£º
WordPress 5.0.0
·ì϶¸ÅÊö
2ÔÂ19ÈÕ£¬£¬¹úÍⰲȫÈËÔ±ÔÚ²©¿ÍÖй«¿ªÁËWordPressÖдæÔÚµÄÒ»¸öÔ¶³Ì´úÂëÖ´Ðзì϶£¬£¬¸Ã·ì϶ÒѾÔÚWordPress coreÖаµ²ØÁË6Äêδ±»·¢ÏÖ¡£
¸Ã·ì϶ÐÔÖÊÉÏÊÇÓÉÒ»¸öĿ¼±éÀú·ì϶ÒÔ¼°Ò»¸ö±¾µØÎļþÔ̺¬·ì϶×éºÏÀûÓöøµ¼ÖµÄÒ»¸öÔ¶³Ì´úÂëÖ´Ðзì϶¡£
µ±¹¥»÷Õß»ñÈ¡µ½WordPressÕ¾µãauthor¼°ÒÔÉÏȨÏÞµÄÕË»§ºó£¬£¬¼´¿ÉÀûÓø÷ì϶Ôڵײã·þÎñÆ÷ÉÏÖ´ÐÐËÁÒâPHP´úÂ룬£¬´Ó¶øÊµÏÖÆëȫԶ³ÌÊÕÊÜ·þÎñÆ÷µÄÖ÷ÕÅ¡£
ÒòWordPress 4.9.9ºÍ5.0.1ÆäËû°²È«²¹¶¡ËùÖ£¬£¬ÎļþÔ̺¬·ì϶½öÓÐ5.0.0µ¥Ò»°æ±¾¿ÉÀûÓ㬣¬¶øõè¾¶±éÀú·ì϶ÈÔ¿ÉʹÓÃÇÒµ±Ç°ÈÔδ´ò²¹¶¡¡£ÈκÎ×°ÖÃÁ˴˲å¼þµÄWordPressÕ¾µã³ÇÊÐÃýÎ󵨴¦ÖÃPost MetaÌõ¿î£¬£¬ÕâÑùÒÀÈ»Äܹ»½øÐÐÀûÓá£
ƾ¾ÝWordPressµÄÏÂÔØÒ³Ãæ£¬£¬³¬¹ý33%µÄÍøÕ¾Ê¹ÓøÃÈí¼þ¡£¿£¿£Ë¼¿¼µ½²å¼þ¿ÉÄÜ»áÖØÐÂÒýÈëÕâ¸öÎÊÌ⣬£¬²¢Ë¼¿¼µ½¹ýÆÚµÄÕ¾µãµÈ³É·Ö£¬£¬ÊÜÓ°ÏìµÄ×°ÖÃÊýÁ¿ÒÀÈ»ÊÇÊý°ÙÍò¡£
·ì϶ϸ½Ú
1. ·ì϶Ö÷ÌâµÀÀí-¡°Post Meta¡±µÄÌõ¿îÄܹ»±»¸²¸Ç
ÔÚWordPress 4.9.9 ֮ǰµÄ°æ±¾ÒÔ¼°WordPress 5.0.1֮ǰµÄ°æ±¾£¬£¬WordPressÎļþÉÏ´«²úÉúµÄPost MetaµÄËùÓÐÌõ¿î½Ô¿É±»Åú¸Ä£¬£¬²¢ÇÒËûÃǵÄvalueÖµÄܹ»ËÁÒâÖØÖᣵ±Ò»ÕÅͼƬ±»¸üеÄʱ³½£¬£¬½«»áŲÓÃ/wp-admin/include/post.phpÖÐedit_post()º¯Êý¡£
ÎÒÃÇÄܹ»Í¨¹ýedit_post()º¯ÊýÏòÊý¾Ý¿â×¢ÈëËÁÒâPost MetaÌõ¿î¡£ÓÉÓÚϵͳδ¶ÔPost MetaÌõ¿î±êÅú¸Ä½øÐмì²â£¬£¬Òò¶ø¹¥»÷ÕßÄܹ»¸üÐÂ_wp_attached_fileÔªÌõ¿î²¢½«ÆäÉèÖÃΪÈκÎÖµ¡£Õâ²»»áÖØ¶¨ÃûÈκÎÎļþ£¬£¬ËüÖ»»á¸ü¸ÄWordPressÔÚ±à×ëͼÏñʱҪ²éÕÒµÄÎļþ¡£ÕâÒ»µã½«µ¼ÖÂÉÔºóµÄõè¾¶±éÀú¡£
2. ͨ¹ýÅú¸Ä¡°Post Meta¡±µÄÀ´ÊµÏÖõè¾¶±éÀú
õè¾¶±éÀú²úÉúÔÚÓû§²Ã¼ôͼÏñʱŲÓõÄwp_crop_image()º¯ÊýÖС£
¸Ãº¯Êý½«Í¼ÏñµÄID´øµ½crop£¨$attachment_id£©ÖУ¬£¬²¢´ÓÊý¾Ý¿âÖлñÈ¡ÏàÓ¦µÄPost MetaÌõ¿î_wp_attached_fileµÄÖµ¡£ÓÉÓÚ֮ǰedit_post()´æÔÚµÄȱµã£¬£¬$src_fileÄܹ»ÉèÖÃΪÈκÎÖµ¡£ÓÉÓÚȱµãedit_post()£¬£¬$src_fileÄܹ»ÉèÖÃΪÈκÎÖµ¡£
±ÉÈËÒ»²½ÖУ¬£¬WordPress±ØÐëÈ·±£Í¼ÏñÏÖʵ´æÔÚ²¢¼ÓÔØËü¡£WordPressÓÐÁ½ÖÖ¼ÓÔØ¸ø¶¨Í¼ÏñµÄ²½Öè¡£µÚÒ»ÖÖÊǵ¥Ò»µØ²éÕÒĿ¼ÖÐPost MetaÌõ¿îÖÐ_wp_attached_fileÌṩµÄÎļþÃûwp-content/uploads¡£
ÈôÊǸò½Öèʧ°Ü£¬£¬WordPress½«³¢ÊÔ´ÓÆä×Ô¼ºµÄ·þÎñÆ÷ÏÂÔØÍ¼Ïñ×÷Ϊºó±¸¡£Îª´Ë£¬£¬Ëü½«ÌìÉúÒ»¸öÏÂÔØURL£¬£¬¸ÃURLÔ̺¬wp-content/uploadsĿ¼µÄURL ºÍ´æ´¢ÔÚPost MetaÌõ¿îÖÐ_wp_attached_fileµÄÎļþÃû¡£
¾ÙÒ»¸ö¾ßÌåµÄÀý×Ó£º£º£ºÈôÊÇ´æ´¢ÔÚPost MetaÌõ¿îÖÐ_wp_attached_file µÄÖµÊÇevil.jpg£¬£¬ÄÇôWordPress½«Ê×Ïȳ¢ÊÔ²é³Îļþwp-content/uploads/evil.jpgÊÇ·ñ´æÔÚ¡£
ÈôÊÇûÓУ¬£¬Ëü»á³¢ÊÔ´ÓÒÔÏÂURLÏÂÔØÎļþ£º£º£º
https://targetserver.com/wp-content/uploads/evil.jpg
³¢ÊÔÏÂÔØÍ¼Ïñ¶ø²»ÊÇÔÚ±¾µØ²éÕÒͼÏñµÄÔÒòÊÇijЩ²å¼þÔÚ½Ó¼ûURLʱ»á¶¯Ì¬ÌìÉúͼÏñ¡£
WordPress½«µ¥Ò»µØ½«ÉÏ´«Ä¿Â¼ºÍURLÓë$src_fileµÄÓû§ÊäÈëÏÎ½ÓÆðÀ´¡£Ò»µ©WordPress³É¹¦¼ÓÔØÁËÓÐЧͼÏñwp_get_image_editor()£¬£¬Ëü½«²Ã¼ôͼÏñ¡£
²Ã¼ôʵÏֺ󣬣¬WordPress»á½«²Ã¼ôºóµÄͼÏñ±£Áô»ØÎļþϵͳ£¨ÎÞÂÛÊÇ·ñÏÂÔØ£©¡£ÌìÉúµÄÎļþÃû½«ÊÇ$src_fileÓÉget_post_meta()¹¥»÷Õß½ÚÖÆµÄ·µ»ØÎļþ¡£¶ÔÁ˾ÖÎļþÃû×Ö·û´®½øÐеÄΨһÅú¸ÄÊÇÔÚÎļþµÄ¸ù»ùÃû³Æ¼Óǰ׺cropped-¡£ÎªÁË×ñÑʾÀýevil.jpg£¬£¬ÌìÉúµÄÎļþÃû½«ÊÇcropped-evil.jpg¡£
¶øºó£¬£¬WordPressͨ¹ýwp_mkdir_p()ÔÚÁ˾Öõè¾¶Öд´½¨²»´æÔÚµÄÈκÎĿ¼¡£
×îºóʹÓÃsave()²½Ö轫Æä×îÖÕдÈëÎļþϵͳ¡£¸Ãsave()²½Ö軹²»ºÏ¸ø¶¨µÄÎļþÃûÖ´ÐÐõè¾¶±éÀú²é³¡£
3. ʵÏÖRCE
×ÛÉÏ£¬£¬Äܹ»È·¶¨ÄĸöÎļþ±»¼ÓÔØµ½Í¼Ïñ±à×ëÆ÷ÖÐ(Òòδ½øÐд¦ÖÃ)¡£µ«ÊÇ£¬£¬ÈôÊÇÎļþ²»ÊÇÓÐЧͼÏñ£¬£¬Í¼Ïñ±à×ëÆ÷½«»áÅ׳öÒì³£¡£¹Ê¶ø£¬£¬Ö»ÄÜÔÚÉÏ´«Ä¿Â¼Ö®Íâ²Ã¼ôͼÏñ¡£
ÄÇôÈôÊÇδÕÒµ½ËùÐèͼÏñ£¬£¬WordPress»á³¢ÊÔÏÂÔØ£¬£¬Õâ¾Íµ¼ÖÂÁËRCE¡£
ÉèÖÃ_wp_attached_fileΪevil.jpg?shell.php£¬£¬Õ⽫µ¼Ö¶ÔÒÔÏÂURL·¢³öHTTPÒªÇ󣺣º£ºhttps://targetserver.com/wp-content/uploads/evil.jpg?shell.php¡£´ËÒªÇ󽫷µ»ØÓÐЧµÄͼÏñÎļþ£¬£¬ÓÉÓÚ?Ôڴ˸ߵÍÎÄÖкöÂÔÁËËùÓÐÄÚÈÝ¡£ÌìÉúµÄÎļþÃû½«ÊÇevil.jpg?shell.php¡£
Ëä˵save()ͼÏñ±à×ëÆ÷µÄ²½Öè²»»á²é³ÊÇ·ñ´æÔÚõè¾¶±éÀú£¬£¬µ«Ëü»á½«ÕýÔÚ¼ÓÔØµÄͼÏñµÄmimeÀàÐ͵ÄÀ©´óÃû¸½¼Óµ½ÌìÉúµÄÎļþÃûÖС£ÔÚÕâÖÖÇé¿öÏ£¬£¬Á˾ÖÎļþÃû½«ÊÇevil.jpg?cropped-shell.php.jpg¡£ÕâʹµÃд´½¨µÄÎļþÔÙ´ÎÎÞº¦¡£
µ«ÊÇ£¬£¬ÈÔÄܹ»Í¨¹ýʹÓÃÖîÈçµÄPayload½«ÌìÉúµÄͼÏñÖ²ÈëÈκÎĿ¼evil.jpg?/../../evil.jpg¡£
4. ÀûÓÃÖ÷±êÌâ´ÎÖеÄõè¾¶±éÀú-±¾µØÎļþÔ̺¬
ƾ¾Ý֮ǰµÄõè¾¶±éÀú£¬£¬ÎÒÃÇÄܹ»ÀûÓÃÖ÷ÌâϵͳµÄ±¾µØÎļþÔ̺¬À´×îÖÕʵÏÖÔ¶³Ì´úÂëÖ´ÐС£Ã¿¸öWordPressÖ÷ÌâÖ»ÊÇÒ»¸öλÓÚWordPressĿ¼ÖеÄwp-content/themesĿ¼£¬£¬Îª·ÖÆçµÄ°¸ÀýÌṩģ°åÎļþ¡£ÀýÈ磬£¬ÈôÊDz©¿ÍµÄ½Ó¼ûÕßÏëÒª²é¿´²©¿ÍÌû×Ó£¬£¬ÔòWordPress»áÔÚµ±Ç°»î¶¯Ö÷ÌâµÄĿ¼ÖвéÕÒÒ»¸öpost.phpÎļþ¡£ÈôÊÇËüÕÒµ½Á˶ÔӦģ°å£¬£¬Äǽ«Ô̺¬¸ÃÄ£°å¡£
ΪÁËÔö³¤¶îÍâµÄ×Ô½ç˵²ã£¬£¬¿ÉÒÔΪijЩÌû×ÓÑ¡Ôñ×Ô½ç˵ģ°å¡£Îª´Ë£¬£¬Óû§±ØÐ뽫Êý¾Ý¿âÖеÄPost MetaÌõ¿î±ê_wp_page_templateÉèÖÃΪ×Ô½ç˵ÎļþÃû¡£ÕâÀïΨһµÄÏÞ¶ÈÊÇÒªÔ̺¬µÄÎļþ±ØÐëλÓÚµ±Ç°»î¶¯Ö÷ÌâµÄĿ¼ÖС£
ͨ³££¬£¬Óû§¶ÔÓÚµ±Ç°»î¶¯Ö÷ÌâµÄĿ¼ÎÞ·¨½Ó¼û´ËĿ¼£¬£¬Ò²ÎÞ·¨ÉÏ´«¸ÃÎļþ¡£µ«ÊÇ£¬£¬Í¨¹ýʹÓÃÉÏÊöõè¾¶±éÀú£¬£¬¾ÍÄܹ»½«¶ñÒâÖÆ×÷µÄͼÏñÖ²È뵱ǰʹÓõÄÖ÷ÌâµÄĿ¼ÖС£¶øºó¹¥»÷ÕßÄܹ»´´½¨Ò»¸öÐÂÌû×ÓҲʹÓÃÉÏÊöµÄõè¾¶±éÀúÃýÎ󣬣¬×îÖÕ¿ÉÄܸüÐÂPost MetaÌõ¿îÖеÄ_wp_attached_file£¬£¬ÒÔ±ãÄܹ»Ô̺¬¸ÃͼƬ¡£Í¨¹ý½«PHP´úÂë×¢ÈëͼƬ£¬£¬¹¥»÷Õß¾ÍÄܹ»Ô¶³ÌÖ´ÐÐËÁÒâ´úÂë¡£
ÐÞ¸´½¨Òé
Wordpress¹Ù·½ÒѾÔÚ WordPress 5.0.1¸üÐÂÁ˰²È«²¹¶¡£¬£¬Óû§Äܹ»¸üÐÂÖÁWordPress 5.0.1Ö®ºóµÄ°æ±¾£º£º£ºhttps://wordpress.org/download/¡£
²Î¿¼Á´½Ó
https://blog.ripstech.com/2019/wordpress-image-remote-code-execution/


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