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ºÅ