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


918²©ÌìÌÃ(ÖйúÓÎ)×îйٷ½ÍøÕ¾


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


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


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


918²©ÌìÌÃ(ÖйúÓÎ)×îйٷ½ÍøÕ¾


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


918²©ÌìÌÃ(ÖйúÓÎ)×îйٷ½ÍøÕ¾


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


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


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


918²©ÌìÌÃ(ÖйúÓÎ)×îйٷ½ÍøÕ¾


3. ʵÏÖRCE


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


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


918²©ÌìÌÃ(ÖйúÓÎ)×îйٷ½ÍøÕ¾


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