¡¾Â©¶´Í¨¸æ¡¿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 ¸½Â¼
¶«Éƽ̨¼ò½é
¶«Éƽ̨½¨Á¢ÓÚ1996Ä꣬ÊÇÓÉÁôÃÀ²©Ê¿ÑÏÍû¼ÑŮʿ´´½¨µÄ¡¢ÓµÓÐÍêÈ«×ÔÖ÷֪ʶ²úȨµÄÐÅÏ¢Äþ¾²¸ß¿Æ¼¼ÆóÒµ¡£ÊǹúÄÚ×î¾ßʵÁ¦µÄÐÅÏ¢Äþ¾²²úÎï¡¢Äþ¾²·þÎñ½â¾ö·½°¸µÄÁ캽ÆóÒµÖ®Ò»¡£
¹«Ë¾×ܲ¿Î»ÓÚ±±¾©ÊÐÖйشåÈí¼þÔ°¶«Éƽ̨´óÏ㬹«Ë¾Ô±¹¤6000ÓàÈË£¬Ñз¢ÍŶÓ1200ÓàÈË, ¼¼Êõ·þÎñÍŶÓ1300ÓàÈË¡£ÔÚÈ«¹ú¸÷Ê¡¡¢ÊС¢×ÔÖÎÇøÉèÁ¢·ÖÖ§»ú¹¹ÁùÊ®¶à¸ö£¬ÓµÓÐÁýÕÖÈ«¹úµÄÏúÊÛÌåϵ¡¢ÇþµÀÌåϵºÍ¼¼ÊõÖ§³ÖÌåϵ¡£¹«Ë¾ÓÚ2010Äê6ÔÂ23ÈÕÔÚÉîÛÚÖÐС°å¹ÒÅÆÉÏÊС££¨¹ÉƱ´úÂ룺002439£©
¶àÄêÀ´£¬¶«Éƽ̨ÖÂÁ¦ÓÚÌṩ¾ßÓйú¼Ê¾ºÕùÁ¦µÄ×ÔÖ÷´´ÐµÄÄþ¾²²úÎïºÍ×î¼Ñʵ¼ù·þÎñ£¬×ÊÖú¿Í»§È«ÃæÌáÉýÆäIT»ù´¡ÉèÊ©µÄÄþ¾²ÐÔºÍÉú²úЧÄÜ£¬Îª´òÔìºÍÌáÉý¹ú¼Ê»¯µÄÃñ×åÐÅÏ¢Äþ¾²¹¤ÒµÁì¾üÆ·ÅÆ¶ø²»Ð¸Å¬Á¦¡£
¹ØÓÚ¶«Éƽ̨
¶«Éƽ̨Äþ¾²Ó¦¼±ÏìÓ¦ÖÐÐÄÖ÷ÒªÕë¶ÔÖØÒªÄþ¾²Â©¶´µÄÔ¤¾¯¡¢¸ú×ٺͷÖÏíÈ«Çò×îеÄÍþвÇ鱨ºÍÄþ¾²³ÂËß¡£
¹Ø×¢ÒÔϹ«Öںţ¬»ñȡȫÇò×îÐÂÄþ¾²×ÊѶ£º