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