¡¾Îó²îͨ¸æ¡¿Node.js Ô¶³Ì´úÂëÖ´ÐÐÎó²î£¨CVE-2021-22930£©
Ðû²¼Ê±¼ä 2021-08-020x00 Îó²î¸ÅÊö
CVE ID | CVE-2021-22930 | ʱ ¼ä | 2021-07-29 |
Àà ÐÍ | RCE | µÈ ¼¶ | ¸ßΣ |
Ô¶³ÌʹÓà | ÊÇ | Ó°Ïì¹æÄ£ | |
¹¥»÷ÖØÆ¯ºó | ¿ÉÓÃÐÔ | ||
Óû§½»»¥ | ËùÐèȨÏÞ | ||
PoC/EXP | ÔÚҰʹÓà |
0x01 Îó²îÏêÇé
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 ¹ØÓÚ¼øºÚµ£±£Íø
¹Ø×¢ÒÔϹ«Öںţ¬£¬£¬£¬£¬»ñÈ¡¸ü¶à×ÊѶ£º