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/