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()º¯Êý¡£¡£¡£¡£¡£ ¡£¡£


¿­·¢¡¤k8(ÖйúÓÎ)¹Ù·½ÍøÕ¾


ÎÒÃÇ¿ÉÒÔͨ¹ýedit_post()º¯ÊýÏòÊý¾Ý¿â×¢Èëí§ÒâPost MetaÌõÄ¿¡£¡£¡£¡£¡£ ¡£¡£ÓÉÓÚϵͳδ¶ÔPost MetaÌõÄ¿µÄÐÞË¢ÐÂÐмì²â£¬£¬ £¬£¬£¬Òò´Ë¹¥»÷Õß¿ÉÒÔ¸üÐÂ_wp_attached_fileÔªÌõÄ¿²¢½«ÆäÉèÖÃΪÈκÎÖµ¡£¡£¡£¡£¡£ ¡£¡£Õâ²»»áÖØÃüÃûÈκÎÎļþ£¬£¬ £¬£¬£¬ËüÖ»»á¸ü¸ÄWordPressÔڱ༭ͼÏñʱҪ²éÕÒµÄÎļþ¡£¡£¡£¡£¡£ ¡£¡£ÕâÒ»µã½«µ¼ÖÂÉÔºóµÄ·¾¶±éÀú¡£¡£¡£¡£¡£ ¡£¡£


2. Í¨¹ýÐ޸ġ°Post Meta¡±µÄÀ´ÊµÏÖ·¾¶±éÀú


·¾¶±éÀú±¬·¢ÔÚÓû§²Ã¼ôͼÏñʱŲÓõÄwp_crop_image()º¯ÊýÖС£¡£¡£¡£¡£ ¡£¡£


¿­·¢¡¤k8(ÖйúÓÎ)¹Ù·½ÍøÕ¾


¸Ãº¯Êý½«Í¼ÏñµÄ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()£¬£¬ £¬£¬£¬Ëü½«²Ã¼ôͼÏñ¡£¡£¡£¡£¡£ ¡£¡£


¿­·¢¡¤k8(ÖйúÓÎ)¹Ù·½ÍøÕ¾


²Ã¼ô¿¢Êºó£¬£¬ £¬£¬£¬WordPress»á½«²Ã¼ôºóµÄͼÏñÉúÑÄ»ØÎļþϵͳ£¨ÎÞÂÛÊÇ·ñÏÂÔØ£©¡£¡£¡£¡£¡£ ¡£¡£ÌìÉúµÄÎļþÃû½«ÊÇ$src_fileÓÉget_post_meta()¹¥»÷Õß¿ØÖƵķµ»ØÎļþ¡£¡£¡£¡£¡£ ¡£¡£¶ÔЧ¹ûÎļþÃû×Ö·û´®¾ÙÐеÄΨһÐÞ¸ÄÊÇÔÚÎļþµÄ»ù±¾Ãû³Æ¼Óǰ׺cropped-¡£¡£¡£¡£¡£ ¡£¡£ÎªÁË×ñÕÕʾÀýevil.jpg£¬£¬ £¬£¬£¬ÌìÉúµÄÎļþÃû½«ÊÇcropped-evil.jpg¡£¡£¡£¡£¡£ ¡£¡£


È»ºó£¬£¬ £¬£¬£¬WordPressͨ¹ýwp_mkdir_p()ÔÚЧ¹û·¾¶Öн¨Éè²»±£´æµÄÈκÎĿ¼¡£¡£¡£¡£¡£ ¡£¡£


×îºóʹÓÃsave()ÒªÁ콫Æä×îÖÕдÈëÎļþϵͳ¡£¡£¡£¡£¡£ ¡£¡£¸Ãsave()ÒªÁ컹²î³Ø¸ø¶¨µÄÎļþÃûÖ´Ðз¾¶±éÀú¼ì²é¡£¡£¡£¡£¡£ ¡£¡£


¿­·¢¡¤k8(ÖйúÓÎ)¹Ù·½ÍøÕ¾


3. ʵÏÖRCE


×ÛÉÏ£¬£¬ £¬£¬£¬¿ÉÒÔÈ·¶¨ÄĸöÎļþ±»¼ÓÔØµ½Í¼Ïñ±à¼­Æ÷ÖÐ(Òòδ¾ÙÐд¦Öóͷ£)¡£¡£¡£¡£¡£ ¡£¡£¿ÉÊÇ£¬£¬ £¬£¬£¬ÈôÊÇÎļþ²»ÊÇÓÐÓÃͼÏñ£¬£¬ £¬£¬£¬Í¼Ïñ±à¼­Æ÷½«»áÅ׳öÒì³£¡£¡£¡£¡£¡£ ¡£¡£¹Ê¶ø£¬£¬ £¬£¬£¬Ö»ÄÜÔÚÉÏ´«Ä¿Â¼Ö®Íâ²Ã¼ôͼÏñ¡£¡£¡£¡£¡£ ¡£¡£


ÄÇôÈôÊÇδÕÒµ½ËùÐèͼÏñ£¬£¬ £¬£¬£¬WordPress»áʵÑéÏÂÔØ£¬£¬ £¬£¬£¬Õâ¾Íµ¼ÖÂÁËRCE¡£¡£¡£¡£¡£ ¡£¡£


¿­·¢¡¤k8(ÖйúÓÎ)¹Ù·½ÍøÕ¾


ÉèÖÃ_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/