¡¾Îó²îͨ¸æ¡¿npm node-forge¿ª·ÅÖØ¶¨ÏòÎó²î (CVE-2022-0122)

Ðû²¼Ê±¼ä 2022-01-26


0x00 Îó²î¸ÅÊö

CVE     ID

CVE-2022-0122

ʱ      ¼ä

2022-01-25

Àà      ÐÍ

¿ª·ÅÖØ¶¨Ïò

µÈ      ¼¶

ÖÐΣ

Ô¶³ÌʹÓÃ

ÊÇ

Ó°Ïì¹æÄ£


¹¥»÷ÖØÆ¯ºó

µÍ

Óû§½»»¥

ÊÇ

PoC/EXP


ÔÚҰʹÓÃ


 

0x01 Îó²îÏêÇé

node-forgeÊÇnpm Éϱ»ÆÕ±éʹÓõÄ×é¼þ £¬£¬£¬£¬¸Ã×é¼þʵÏÖÁËÖ÷ÒªµÄÇå¾²¹¦Ð§ £¬£¬£¬£¬°üÀ¨´«Êä²ãÇ徲ЭÒé¡¢¼ÓÃܹ¦Ð§ºÍÔ­ÉúJavaScriptÖеÄwebÓ¦Óÿª·¢¹¤¾ß £¬£¬£¬£¬ÆäÿÖÜÏÂÔØÁ¿Áè¼Ý1600 Íò´Î¡£¡£¡£ ¡£

1ÔÂ25ÈÕ £¬£¬£¬£¬SonatypeµÄÑо¿Ö°Ô±¹ûÕæÅû¶ÁËnode-forgeÖеÄÒ»¸ö¿ª·ÅÖØ¶¨ÏòÎó²î£¨CVE-2022-0122£© £¬£¬£¬£¬ÆäCVSSv3ÆÀ·ÖΪ6.1¡£¡£¡£ ¡£

¸ÃÎó²î±£´æÓÚnode-forgeµÄutils.jsÎļþÖеÄparseUrlº¯ÊýÖÐ £¬£¬£¬£¬ÓÉÓÚÕýÔò±í´ïʽregexÎÞ·¨×¼È·ÆÊÎöijЩÊäÈë £¬£¬£¬£¬µ¼Ö¿ª·ÅÖØ¶¨Ïò £¬£¬£¬£¬¹¥»÷ÕßÄܹ»Ê¹ÓôËÎó²îÈÆ¹ý URL ÆÊÎöÆ÷¡¢ÓÕʹÊܺ¦ÕßÅþÁ¬µ½¶ñÒâ¿Í»§¶Ë»ò½«Êܺ¦ÕßÖØ¶¨Ïòµ½í§ÒâλÖõÈ¡£¡£¡£ ¡£

image.png

 

Ó°Ïì¹æÄ£

node-forge°æ±¾ < 1.0.0

 

0x02 Çå¾²½¨Òé

ÏÖÔÚ´ËÎó²îÒѾ­ÐÞ¸´ £¬£¬£¬£¬½¨ÒéÊÜÓ°ÏìÓû§ÊµÊ±Éý¼¶¸üе½node-forge v1.0.0»ò¸ü¸ß°æ±¾¡£¡£¡£ ¡£

ÏÂÔØÁ´½Ó£º

https://www.npmjs.com/package/node-forge

 

0x03 ²Î¿¼Á´½Ó

https://blog.sonatype.com/new-year-new-cve-a-deep-dive-into-the-node-forge-cve-2022-0122

https://github.com/digitalbazaar/forge

https://www.npmjs.com/package/node-forge

 

0x04 °æ±¾ÐÅÏ¢

°æ±¾

ÈÕÆÚ

ÐÞ¸ÄÄÚÈÝ

V1.0

2022-01-26

Ê×´ÎÐû²¼

 

0x05 ¸½Â¼

¼øºÚµ£±£Íø¼ò½é

¼øºÚµ£±£Íø¹«Ë¾½¨ÉèÓÚ1996Äê £¬£¬£¬£¬²¢ÓÚ2010Äê6ÔÂ23ÈÕÔÚÉî½»ËùÖÐС°åÕýʽ¹ÒÅÆÉÏÊÐ £¬£¬£¬£¬ÊǺ£ÄÚ¼«¾ßʵÁ¦µÄ¡¢ÓµÓÐÍêÈ«×ÔÖ÷֪ʶ²úȨµÄÍøÂçÇå¾²²úÆ·¡¢¿ÉÐÅÇå¾²ÖÎÀíÆ½Ì¨¡¢Ç徲ЧÀÍÓë½â¾ö¼Æ»®µÄ×ÛºÏÌṩÉÌ¡£¡£¡£ ¡£

¹«Ë¾×ܲ¿Î»ÓÚ±±¾©ÊÐÖйشåÈí¼þÔ° £¬£¬£¬£¬ÔÚÌìϸ÷Ê¡¡¢ÊС¢×ÔÖÎÇøÉèÓзÖÖ§»ú¹¹ £¬£¬£¬£¬ÓµÓÐÁýÕÖÌìϵÄÇþµÀϵͳºÍÊÖÒÕÖ§³ÖÖÐÐÄ £¬£¬£¬£¬²¢ÔÚ±±¾©¡¢ÉϺ£¡¢³É¶¼¡¢¹ãÖÝ¡¢³¤É³¡¢º¼ÖÝµÈ¶àµØÉèÓÐÑз¢ÖÐÐÄ¡£¡£¡£ ¡£

¶àÄêÀ´ £¬£¬£¬£¬¼øºÚµ£±£ÍøÖÂÁ¦ÓÚÌṩ¾ßÓйú¼Ê¾ºÕùÁ¦µÄ×ÔÖ÷Á¢ÒìµÄÇå¾²²úÆ·ºÍ×î¼Ñʵ¼ùЧÀÍ £¬£¬£¬£¬×ÊÖú¿Í»§ÖÜÈ«ÌáÉýÆäIT»ù´¡ÉèÊ©µÄÇå¾²ÐÔºÍÉú²úЧÄÜ £¬£¬£¬£¬Îª´òÔìºÍÌáÉý¹ú¼Ê»¯µÄÃñ×åÐÅÏ¢Çå¾²¹¤ÒµÁì¾üÆ·ÅÆ¶ø²»Ð¸Æð¾¢¡£¡£¡£ ¡£

 

¹ØÓÚ¼øºÚµ£±£Íø

¼øºÚµ£±£ÍøÇå¾²Ó¦¼±ÏìÓ¦ÖÐÐÄÖ÷ÒªÕë¶ÔÖ÷ÒªÇå¾²Îó²îµÄÔ¤¾¯¡¢¸ú×ٺͷÖÏíÈ«Çò×îеÄÍþвÇ鱨ºÍÇå¾²±¨¸æ¡£¡£¡£ ¡£

¹Ø×¢ÒÔϹ«ÖںŠ£¬£¬£¬£¬»ñȡȫÇò×îÐÂÇå¾²×ÊѶ£º

image.png