¡¾Îó²îͨ¸æ¡¿Node.jsÔ¶³Ì´úÂëÖ´ÐÐÎó²î (CVE-2021-22931)
Ðû²¼Ê±¼ä 2021-08-130x00 Îó²î¸ÅÊö
CVE ID | CVE-2021-22931 | ʱ ¼ä | 2021-08-11 |
Àà ÐÍ | RCE | µÈ ¼¶ | ¸ßΣ |
Ô¶³ÌʹÓà | ÊÇ | Ó°Ïì¹æÄ£ | |
¹¥»÷ÖØÆ¯ºó | ¿ÉÓÃÐÔ | ||
Óû§½»»¥ | ËùÐèȨÏÞ | ||
PoC/EXP | ÔÚҰʹÓà |
0x01 Îó²îÏêÇé

Node.jsÊÇÒ»¸ö»ùÓÚChrome V8ÒýÇæµÄJavaScriptÔËÐÐÇéÐΣ¬£¬£¬£¬£¬£¬£¬ËüʹÓøßЧ¡¢ÇáÁ¿¼¶µÄÊÂÎñÇý¶¯¡¢·ÇÛÕ±Õ I/O Ä£×Ó¡£¡£¡£¡£¡£¡£¡£¡£Node.jsÖеİü¹ÜÀíÆ÷npm£¬£¬£¬£¬£¬£¬£¬ÊÇÈ«ÇòÖ÷Á÷µÄ¿ªÔ´¿âÉú̬ϵͳ¡£¡£¡£¡£¡£¡£¡£¡£
2021Äê8ÔÂ11ÈÕ£¬£¬£¬£¬£¬£¬£¬Node.jsÐû²¼ÁËv16.x¡¢v14.x ºÍ v12.x¿¯ÐаæµÄÇå¾²¸üУ¬£¬£¬£¬£¬£¬£¬ÐÞ¸´ÁËNode.jsÖеÄÒ»¸öÔ¶³Ì´úÂëÖ´ÐÐÎó²î£¨CVE-2021-22931£¬£¬£¬£¬£¬£¬£¬¸ßΣ£©£¬£¬£¬£¬£¬£¬£¬ÏêÇéÈçÏ£º
ÓÉÓÚNode.js DNS¿âÖеÄÓòÃûЧÀÍÆ÷·µ»ØµÄÖ÷»úÃûȱÉÙÊäÈëÑéÖ¤£¬£¬£¬£¬£¬£¬£¬Õâ¿ÉÄܵ¼ÖÂÊäÍÉ»¯ÎóµÄÖ÷»úÃû£¨¿ÉÄܵ¼ÖÂÓòÃûÐ®ÖÆ£©ºÍʹÓøÿâµÄÓ¦ÓóÌÐòÖб£´æ×¢ÈëÎó²î£¬£¬£¬£¬£¬£¬£¬Ô¶³Ì¹¥»÷Õß¿ÉʹÓôËÎó²îÖ´ÐÐXSS¹¥»÷¡¢Ê¹Ó¦ÓóÌÐòÍ߽⣨¾Ü¾øÐ§ÀÍ£©»òÔ¶³ÌÖ´ÐжñÒâ´úÂë¡£¡£¡£¡£¡£¡£¡£¡£
±ðµÄ£¬£¬£¬£¬£¬£¬£¬Node.js±¾´ÎÐû²¼µÄÇå¾²¸üл¹ÐÞ¸´ÁËrejectUnauthorized²ÎÊýµÄ²»ÍêÕûÑéÖ¤ÎÊÌ⣨CVE-2021-22939£¬£¬£¬£¬£¬£¬£¬µÍΣ)£»£»£»£»£»£»£»£»ÒÔ¼°Ò»¸öUse-after-freeÎó²î£¨CVE-2021-22940£¬£¬£¬£¬£¬£¬£¬¸ßΣ£©£¬£¬£¬£¬£¬£¬£¬¸ÃÎó²îÊÇCVE-2021-22930µÄÐÞ¸´²»ÍêÕûµ¼Öµģ¬£¬£¬£¬£¬£¬£¬¹¥»÷Õß¿ÉÒÔʹÓÃÄÚ´æËð»µÀ´¸Ä±äÀú³ÌÐÐΪ¡£¡£¡£¡£¡£¡£¡£¡£
Ó°Ïì¹æÄ£
Node.js 12.x < 12.22.5 (LTS)
Node.js 14.x < 14.17.5 (LTS)
Node.js 16.x < 16.6.2 (Current)
0x02 ´¦Öóͷ£½¨Òé
ÏÖÔÚ´ËÎó²îÒѾÐÞ¸´¡£¡£¡£¡£¡£¡£¡£¡£½¨ÒéÊÜÓ°ÏìÓû§ÊµÊ±Éý¼¶¸üе½ÒÔϰ汾£º
Node.js v12.22.5 (LTS)
Node.js v14.17.5 (LTS)
Node.js v16.6.2 (Current)
ÏÂÔØÁ´½Ó£º
https://nodejs.org/en/download/
0x03 ²Î¿¼Á´½Ó
https://nodejs.org/en/blog/vulnerability/aug-2021-security-releases/
https://nodejs.org/en/blog/release/v12.22.5/
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22931
0x04 ¸üа汾
°æ±¾ | ÈÕÆÚ | ÐÞ¸ÄÄÚÈÝ |
V1.0 | 2021-08-13 | Ê×´ÎÐû²¼ |
0x05 Îĵµ¸½Â¼
CNVD£ºwww.cnvd.org.cn
CNNVD£ºwww.cnnvd.org.cn
CVE£ºcve.mitre.org
NVD£ºnvd.nist.gov
CVSS£ºwww.first.org
0x06 ¹ØÓÚÍòÀû¹ú¼Ê¹ÙÍø
¹Ø×¢ÒÔϹ«Öںţ¬£¬£¬£¬£¬£¬£¬»ñÈ¡¸ü¶à×ÊѶ£º



¾©¹«Íø°²±¸11010802024551ºÅ