¡¾·ì϶¹«¸æ¡¿Node.js Ô¶³Ì´úÂëÖ´Ðзì϶£¨CVE-2021-22930£©

°ä²¼¹¦·ò 2021-08-02

0x00 ·ì϶¸ÅÊö

CVE     ID

CVE-2021-22930

ʱ      ¼ä

2021-07-29

Àà      ÐÍ

RCE

µÈ      ¼¶

¸ßΣ

Ô¶³ÌÀûÓÃ

ÊÇ

Ó°ÏìÁìÓò


¹¥»÷¸´ÔÓ¶È


¿ÉÓÃÐÔ


Óû§½»»¥


ËùÐèȨÏÞ


PoC/EXP


ÔÚÒ°ÀûÓÃ


 

0x01 ·ì϶ÏêÇé

image.png

2021Äê7ÔÂ29ÈÕ£¬Node.js°ä²¼ÁËv16.x¡¢v14.x ºÍ v12.x¿¯ÐаæµÄ°²È«¸üУ¬½¨¸´ÁËNode.jsÖеÄÒ»¸öUse-After-Free·ì϶£¨CVE-2021-22930£©£¬¹¥»÷ÕßÄܹ»ÀûÓô˷ì϶·ÛËé¹ý³Ì²¢µ¼ÖÂÒâ±íÐÐΪ£¬ÀýÈçʹÀûÓ÷¨Ê½±ÀÀ££¨»Ø¾ø·þÎñ£©»òÔ¶³ÌÖ´ÐдúÂë¡£

¸Ã·ì϶ÓëHTTP2 Á÷µÄ´¦Ö÷½Ê½ÓйØ¡£ÔÚNode.js½âÎö´«ÈëµÄRST_STREAMÖ¡£¨ÓÃÓÚÖÕÖ¹Ïνӣ©Ê±£¬ÓÉÓڶԽӹܵ½µÄ RST_STREAM Ö¡µÄ´¦ÖÃÖÐûÓÐÃýÎó´úÂëºÍÈ¡µÞÃýÎó´úÂ루nghttp2_cancel£©£¬½Ó¹ÜÆ÷½«ÊÔͼǿÔì¶Ï¸ùÊÕµ½µÄÈκÎÊý¾Ý£¬Õâ»áµ¼ÖÂnghttp2¹Ø¹ØÒѾ­·ÛËéµÄÁ÷£¬´Ó¶øµ¼ÖÂdouble-freeÃýÎó¡£

 

Ó°ÏìÁìÓò

16.x¡¢14.xºÍ12.x¿¯ÐаæµÄËùÓа汾

 

0x02 ´ëÖý¨Òé

Ŀǰ´Ë·ì϶ÒѾ­½¨¸´¡£½¨Òéʵʱ¸üе½ÒÔϰ汾£º

Node.js v12.22.4 (LTS)

Node.js v14.17.4 (LTS)

Node.js v16.6.0 (Current)

ÏÂÔØÁ´½Ó£º

https://nodejs.org/en/blog/vulnerability/july-2021-security-releases-2/

 

0x03 ²Î¿¼Á´½Ó

https://nodejs.org/en/blog/vulnerability/july-2021-security-releases-2/

https://www.bleepingcomputer.com/news/security/nodejs-fixes-severe-http-bug-that-could-let-attackers-crash-apps/

https://github.com/nodejs/node/pull/39527/commits/ba2ac7bb47406815c98366c5a591053414a1daf3#diff-33f026e43570112875cf4c8eab6743496f3aa014329611128e348ec23d6f771cR2165

 

0x04 ¸üа汾

°æ±¾

ÈÕÆÚ

Åú¸ÄÄÚÈÝ

V1.0

2021-08-02

³õ´Î°ä²¼

 

0x05 Îĵµ¸½Â¼

CNVD£ºwww.cnvd.org.cn

CNNVD£ºwww.cnnvd.org.cn

CVE£ºcve.mitre.org

NVD£ºnvd.nist.gov

CVSS£ºwww.first.org

 

0x06 ¹ØÓÚGA»Æ½ð¼×

¹Ø×¢ÒÔϹ«¼ÒºÅ£¬»ñÈ¡¸ü¶à×ÊѶ£º

image.png         image.png