¡¾·ì϶¹«¸æ¡¿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 ¸½Â¼

GA»Æ½ð¼×¼ò½é

GA»Æ½ð¼×³ÉÁ¢ÓÚ1996Äê £¬ÊÇÓÉÁôÃÀ²©Ê¿ÑÏÍû¼ÑŮʿ´´½¨µÄ¡¢Õ¼ÓÐÆëÈ«×ÔÖ÷֪ʶ²úȨµÄÐÅÏ¢°²È«¸ß¿Æ¼¼ÆóÒµ¡£ÊǹúÄÚ×î¾ßʵÁ¦µÄÐÅÏ¢°²È«²úÆ·¡¢°²È«·þÎñ½â¾ö¹æ»®µÄÁ캽ÆóÒµÖ®Ò»¡£

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

¶àÄêÀ´ £¬GA»Æ½ð¼×ÖÂÁ¦ÓÚÌṩӵÓйú¼Ê¾ºÕùÁ¦µÄ×ÔÖ÷´´Ðµİ²È«²úÆ·ºÍ×î¼Ñʵ¼Ê·þÎñ £¬Ô®ÊÖ¿Í»§È«ÃæÌáÉýÆäIT»ù´¡ÉèÊ©µÄ°²È«ÐԺͳö²úЧÁ¦ £¬Îª´òÔìºÍÌáÉý¹ú¼Ê»¯µÄÃñ×åÐÅÏ¢°²È«²úÒµÁì¾üÆ·ÅÆ¶ø²»Ð¸ÖÂÁ¦¡£

 

¹ØÓÚGA»Æ½ð¼×

GA»Æ½ð¼×°²È«Ó¦¼±ÏìÓ¦ÖÐÐÄÖØÒªÕë¶Ô³ÁÒª°²È«·ì϶µÄÔ¤¾¯¡¢¸ú×ٺͷÖÏíÈ«Çò×îеÄÍþвµý±¨ºÍ°²È«»ã±¨¡£

¹Ø×¢ÒÔϹ«¼ÒºÅ £¬»ñȡȫÇò×îа²È«×ÊѶ£º

image.png