¡¾Îó²îͨ¸æ¡¿Nginx NJSÊͷźóʹÓÃÎó²î£¨CVE-2022-43286£©

Ðû²¼Ê±¼ä 2022-10-31

 

0x00 Îó²î¸ÅÊö

CVE   ID

CVE-2022-43286

·¢Ã÷ʱ¼ä

2022-10-31

Àà    ÐÍ

UAF

µÈ    ¼¶

¸ßΣ

Ô¶³ÌʹÓÃ


Ó°Ïì¹æÄ£


¹¥»÷ÖØÆ¯ºó


Óû§½»»¥


PoC/EXP


ÔÚҰʹÓÃ


 

0x01 Îó²îÏêÇé

NGINXÊÇÃÀ¹úNGINX¹«Ë¾µÄÒ»¿îÇáÁ¿¼¶WebЧÀÍÆ÷/·´ÏòÊðÀíЧÀÍÆ÷ºÍµç×ÓÓʼþ£¨IMAP/POP3/SMTP£©ÊðÀíЧÀÍÆ÷¡£¡£¡£ ¡£NJSÊÇÆäÖеÄÒ»¸öÖ§³ÖÀ©Õ¹NGINX¹¦Ð§µÄ¾ç±¾ÓïÑÔ×é¼þ¡£¡£¡£ ¡£

¿ËÈÕ£¬£¬Nginx NJS±»Åû¶±£´æÒ»¸öÊͷźóʹÓÃÎó²î£¨CVE-2022-43286£©£¬£¬ÔÚÊÜÓ°ÏìµÄNginx NJS°æ±¾ÖУ¬£¬njs_json.cÖеÄnjs_json_parse_iterator_callº¯ÊýÓÉÓÚ²»·¨ÄÚ´æ¸´ÖÆµ¼Ö±£´æ¶ÑÊͷźóʹÓÃÎó²î£¬£¬ÀÖ³ÉʹÓôËÎó²î¿ÉÄܵ¼Ö¾ܾøÐ§ÀÍ»òÔ¶³Ì´úÂëÖ´ÐС£¡£¡£ ¡£

±ðµÄ£¬£¬Nginx NJSÖл¹ÐÞ¸´ÁËÒ»¸ö¾Ü¾øÐ§ÀÍÎó²î£¨CVE-2022-43285£©£¬£¬ÓÉÓÚ njs_promise_reaction_jobº¯Êý±£´æ·Ö¶ÎÎ¥¹æÎÊÌ⣬£¬ÀÖ³ÉʹÓôËÎó²î¿ÉÄܵ¼Ö¾ܾøÐ§ÀÍ¡£¡£¡£ ¡£

 

Ó°Ïì¹æÄ£

CVE-2022-43285£ºNginx NJS °æ±¾ < 0.7.8

CVE-2022-43286£ºNginx NJS°æ±¾ < 0.7.4

 

0x02 Çå¾²½¨Òé

ÏÖÔÚÕâЩÎó²îÒѾ­ÐÞ¸´£¬£¬ÊÜÓ°ÏìÓû§¿ÉÒÔÉý¼¶µ½Nginx NJS 0.7.4¡¢0.7.8»ò¸ü¸ß°æ±¾¡£¡£¡£ ¡£

ÏÂÔØÁ´½Ó£º

https://github.com/nginx/njs/tags

 

0x03 ²Î¿¼Á´½Ó

https://github.com/nginx/njs/issues/480

https://github.com/nginx/njs/issues/533

http://nginx.org/en/docs/njs/

 

0x04 °æ±¾ÐÅÏ¢

°æ±¾

ÈÕÆÚ

ÐÞ¸ÄÄÚÈÝ

V1.0

2022-10-31

Ê×´ÎÐû²¼

 

0x05 ¸½Â¼

ÈËÉú¾ÍÊDz©¼ò½é

ÈËÉú¾ÍÊDz©½¨ÉèÓÚ1996Ä꣬£¬ÊÇÓÉÁôÃÀ²©Ê¿ÑÏÍû¼ÑŮʿ½¨ÉèµÄ¡¢ÓµÓÐÍêÈ«×ÔÖ÷֪ʶ²úȨµÄÐÅÏ¢Çå¾²¸ß¿Æ¼¼ÆóÒµ¡£¡£¡£ ¡£ÊǺ£ÄÚ×î¾ßʵÁ¦µÄÐÅÏ¢Çå¾²²úÆ·¡¢Ç徲ЧÀͽâ¾ö¼Æ»®µÄÁ캽ÆóÒµÖ®Ò»¡£¡£¡£ ¡£

¹«Ë¾×ܲ¿Î»ÓÚ±±¾©ÊÐÖйشåÈí¼þÔ°ÈËÉú¾ÍÊDz©´óÏ㬣¬¹«Ë¾Ô±¹¤6000ÓàÈË£¬£¬Ñз¢ÍŶÓ1200ÓàÈË, ÊÖÒÕЧÀÍÍŶÓ1300ÓàÈË¡£¡£¡£ ¡£ÔÚÌìϸ÷Ê¡¡¢ÊС¢×ÔÖÎÇøÉèÁ¢·ÖÖ§»ú¹¹ÁùÊ®¶à¸ö£¬£¬ÓµÓÐÁýÕÖÌìϵÄÏúÊÛϵͳ¡¢ÇþµÀϵͳºÍÊÖÒÕÖ§³Öϵͳ¡£¡£¡£ ¡£¹«Ë¾ÓÚ2010Äê6ÔÂ23ÈÕÔÚÉîÛÚÖÐС°å¹ÒÅÆÉÏÊС£¡£¡£ ¡££¨¹ÉƱ´úÂ룺002439£©

¶àÄêÀ´£¬£¬ÈËÉú¾ÍÊDz©ÖÂÁ¦ÓÚÌṩ¾ßÓйú¼Ê¾ºÕùÁ¦µÄ×ÔÖ÷Á¢ÒìµÄÇå¾²²úÆ·ºÍ×î¼Ñʵ¼ùЧÀÍ£¬£¬×ÊÖú¿Í»§ÖÜÈ«ÌáÉýÆäIT»ù´¡ÉèÊ©µÄÇå¾²ÐÔºÍÉú²úЧÄÜ£¬£¬Îª´òÔìºÍÌáÉý¹ú¼Ê»¯µÄÃñ×åÐÅÏ¢Çå¾²¹¤ÒµÁì¾üÆ·ÅÆ¶ø²»Ð¸Æð¾¢¡£¡£¡£ ¡£

 

¹ØÓÚÈËÉú¾ÍÊDz©

ÈËÉú¾ÍÊDz©Çå¾²Ó¦¼±ÏìÓ¦ÖÐÐÄÖ÷ÒªÕë¶ÔÖ÷ÒªÇå¾²Îó²îµÄÔ¤¾¯¡¢¸ú×ٺͷÖÏíÈ«Çò×îеÄÍþвÇ鱨ºÍÇå¾²±¨¸æ¡£¡£¡£ ¡£

¹Ø×¢ÒÔϹ«Öںţ¬£¬»ñȡȫÇò×îÐÂÇå¾²×ÊѶ£º

image.png