¡¾Îó²îͨ¸æ¡¿npm node-forge¿ª·ÅÖØ¶¨ÏòÎó²î (CVE-2022-0122)
Ðû²¼Ê±¼ä 2022-01-260x00 Îó²î¸ÅÊö
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 ÆÊÎöÆ÷¡¢ÓÕʹÊܺ¦ÕßÅþÁ¬µ½¶ñÒâ¿Í»§¶Ë»ò½«Êܺ¦ÕßÖØ¶¨Ïòµ½í§ÒâλÖõȡ£¡£¡£¡£
Ó°Ïì¹æÄ£
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»ù´¡ÉèÊ©µÄÇå¾²ÐÔºÍÉú²úЧÄÜ£¬£¬£¬£¬Îª´òÔìºÍÌáÉý¹ú¼Ê»¯µÄÃñ×åÐÅÏ¢Çå¾²¹¤ÒµÁì¾üÆ·ÅÆ¶ø²»Ð¸Æð¾¢¡£¡£¡£¡£
¹ØÓÚ¼øºÚµ£±£Íø
¼øºÚµ£±£ÍøÇå¾²Ó¦¼±ÏìÓ¦ÖÐÐÄÖ÷ÒªÕë¶ÔÖ÷ÒªÇå¾²Îó²îµÄÔ¤¾¯¡¢¸ú×ٺͷÖÏíÈ«Çò×îеÄÍþвÇ鱨ºÍÇå¾²±¨¸æ¡£¡£¡£¡£
¹Ø×¢ÒÔϹ«Öںţ¬£¬£¬£¬»ñȡȫÇò×îÐÂÇå¾²×ÊѶ£º