¡¾Â©¶´Í¨¸æ¡¿Node.jsÔ¶³Ì´úÂëÖ´ÐЩ¶´ (CVE-2021-22931)

Ðû²¼Ê±¼ä 2021-08-13

0x00 ©¶´¸ÅÊö

CVE     ID

CVE-2021-22931

ʱ      ¼ä

2021-08-11

Àà      ÐÍ

RCE

µÈ      ¼¶

¸ßΣ

Ô¶³ÌÀûÓÃ

ÊÇ

Ó°Ï췶Χ


¹¥»÷ÅÓ´ó¶È


¿ÉÓÃÐÔ


Óû§½»»¥


ËùÐèȨÏÞ


PoC/EXP


ÔÚÒ°ÀûÓÃ


 

0x01 ©¶´ÏêÇé

image.png

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 ¹ØÓÚ¶«É­Æ½Ì¨

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

image.png