¡¾Îó²îͨ¸æ¡¿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 ¸½Â¼

c7c7ÓéÀÖÆ½Ì¨¼ò½é

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

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

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

 

¹ØÓÚc7c7ÓéÀÖÆ½Ì¨

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

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

image.png