Nginx/OpenRestyÄÚ´æ×ß©/Ŀ¼´©Ô½Îó²îΣº¦Í¨¸æ

Ðû²¼Ê±¼ä 2020-03-20

Îó²î±àºÅºÍ¼¶±ð


CVE±àºÅ£ºÔÝÎÞ£¬£¬ £¬£¬£¬£¬£¬£¬Î£ÏÕ¼¶±ð£ºÖÐΣ£¬£¬ £¬£¬£¬£¬£¬£¬CVSS·ÖÖµ£º³§ÉÌ×ÔÆÀ£º¹Ù·½Î´ÆÀ¶¨


Ó°Ïì°æ±¾


nginx <= v1.17.7 (commit af8ea176a743e97d767b3e1439d549b52dd0367a)

openresty <= v1.15.8.2


Îó²î¸ÅÊö


¿ËÈÕ£¬£¬ £¬£¬£¬£¬£¬£¬openwall oss-security Óʼþ×éÐû²¼Í¨¸æÅû¶ÁËÁ½¸öÎó²î¡£¡£¡£¡£¡£¡£¡£ÔÚÌØ¶¨ÉèÖÃÏ nginx/openresty ±£´æ ÄÚ´æ×ß©Îó²î/Ŀ¼´©Ô½Îó²î¡£¡£¡£¡£¡£¡£¡£


NGINXÊÇÃÀ¹úNGINX¹«Ë¾µÄÒ»¿îÇáÁ¿¼¶WebЧÀÍÆ÷/·´ÏòÊðÀíЧÀÍÆ÷¼°µç×ÓÓʼþ£¨IMAP/POP3£©ÊðÀíЧÀÍÆ÷¡£¡£¡£¡£¡£¡£¡£OpenRestyÊÇÒ»¿î»ùÓÚNginxºÍLuaµÄWebƽ̨¡£¡£¡£¡£¡£¡£¡£¸Ãƽ̨ÓÃÓڴÓÃÓÚ´¦Öóͷ£¸ß²¢·¢¡¢¸ßÀ©Õ¹ÐԵĶ¯Ì¬WebÓ¦Óá¢WebЧÀͺͶ¯Ì¬Íø¹Ø¡£¡£¡£¡£¡£¡£¡£

¸Ãͨ¸æÖÐÏÔʾ£¬£¬ £¬£¬£¬£¬£¬£¬OpenRestyͨ¹ýÔÚnginxÖоÙÐÐÔ­Ê¼ÖØÐ´À´ÊµÏÖngx.req.set_uri()£¬£¬ £¬£¬£¬£¬£¬£¬¶øÎÞÐè¾ÙÐÐÈÎºÎÆäËû¹ýÂË»ò±ê×¼»¯¡£¡£¡£¡£¡£¡£¡£ÈôÊÇÓë²»ÊÜÐÅÈεÄÊäÈëÒ»ÆðʹÓ㬣¬ £¬£¬£¬£¬£¬£¬Ôò¿ÉÄܵ¼ÖÂCRLF/header×¢È룬£¬ £¬£¬£¬£¬£¬£¬Ä¿Â¼±éÀú/ÍâµØÎļþ¶ÁÈ¡£¬£¬ £¬£¬£¬£¬£¬£¬ÏÞÖÆÈÆ¹ý¡£¡£¡£¡£¡£¡£¡£ÓÉÓÚnginxµÄ¡°ÖØÐ´¡±ÊµÏÖÖÐÓÐÒ»¸öbug£¬£¬ £¬£¬£¬£¬£¬£¬Ò²¿ÉÒÔµ¼ÖÂÄÚ´æÐ¹Â¶¡£¡£¡£¡£¡£¡£¡£


Îó²îÑéÖ¤


PoC:https://www.openwall.com/lists/oss-security/2020/03/18/1¡£¡£¡£¡£¡£¡£¡£


ÐÞ¸´½¨Òé


1. Nginx¹Ù·½ÒÑÐû²¼ÐÞ¸´°æ±¾£¬£¬ £¬£¬£¬£¬£¬£¬Óû§ÐèÒª¸üе½ v1.17.9 £¨commit a5895eb502747f396d3901a948834cd87d5fb0c3£©

2. OpenResty Óû§ÐèÒªÅŲéNginxÉèÖÃÎļþÖÐ rewrite ÒÔ¼° ngx.req.set_uri£¬£¬ £¬£¬£¬£¬£¬£¬½¨ÒéÔÚ²»ÊDZØÐèʹÓõÄÇéÐÎÏ£¬£¬ £¬£¬£¬£¬£¬£¬ÔÝʱ½ûÓÃÏà¹ØÉèÖᣡ£¡£¡£¡£¡£¡£


²Î¿¼Á´½Ó


https://www.openwall.com/lists/oss-security/2020/03/18/1