¡¾Îó²îͨ¸æ¡¿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 ¹ØÓÚ¼øºÚµ£±£Íø

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

image.png         image.png