¡¾Â©¶´Í¨¸æ¡¿SuperjsonÔ¶³Ì´úÂëÖ´ÐЩ¶´£¨CVE-2022-23631£©
Ðû²¼Ê±¼ä 2022-07-220x00 ©¶´¸ÅÊö
CVE ID | CVE-2022-23631 | ·¢ÏÖʱ¼ä | 2022-07-22 |
Àà ÐÍ | RCE | µÈ ¼¶ | ÑÏÖØ |
Ô¶³ÌÀûÓà | ÊÇ | Ó°Ï췶Χ | |
¹¥»÷ÅÓ´ó¶È | µÍ | Óû§½»»¥ | ÎÞ |
PoC/EXP | ÔÚÒ°ÀûÓÃ |
0x01 ©¶´ÏêÇé
SuperJsonÊÇÒ»¸öJson½âÎöÆ÷ºÍÉú³ÉÆ÷£¬ÆäÉè¼Æ×ñÑÎÞÓïÑÔÌØÐÔ£¬¿ÉÒÔÓÃÈκαà³ÌÓïÑÔʵÏÖ£»Blitz.jsÊÇÒ»¸öÈ«Õ» React Web ¿ò¼Ü£¬»ùÓÚ Next.js ¹¹½¨¡£
7ÔÂ12ÈÕ£¬Ñо¿ÈËÔ±¹ûÈ»Åû¶ÁËSuperjson Öпɵ¼ÖÂÔ¶³Ì´úÂëÖ´ÐеÄÒ»¸öÔÐÍÎÛȾ©¶´(CVE-2022-23631)µÄ©¶´Ï¸½Ú£¬¸Ã©¶´µÄCVSSÆÀ·ÖΪ9.8¡£
SuperJson 1.8.1֮ǰµÄ°æ±¾ÖдæÔÚÔÐÍÎÛȾ©¶´£¬ÀÖ³ÉÀûÓôË©¶´¿ÉÔÚδ¾Éí·ÝÑéÖ¤µÄÇé¿öÏÂÔÚÄ¿±ê·þÎñÆ÷ÉÏÔ¶³ÌÖ´ÐÐÈÎÒâ´úÂë¡£ÓÉÓÚBlitz.jsµÄRPC²ãÖÐʹÓÃÁËSuperjson£¬Òò´Ë¸Ã©¶´Ò²Ó°ÏìÁËBlitz.js ¿ò¼Ü¡£
Ó°Ï췶Χ
Superjson (npm) < 1.8.1
Blitz.js (npm) < 0.45.3
0x02 Äþ¾²½¨Òé
Ä¿Ç°´Ë©¶´ÒѾÐÞ¸´£¬ÊÜÓ°ÏìÓû§¿ÉÉý¼¶µ½Superjson°æ±¾1.8.1¡¢Blitz.js °æ±¾0.45.3»ò¸ü¸ß°æ±¾¡£
ÏÂÔØÁ´½Ó£º
https://www.npmjs.com/package/superjson
×¢£ºÈôÎÞ·¨Éý¼¶Blitz.js£¬¿ÉÒÔÑ¡Ôñ½«SuperjsonÉý¼¶µ½1.8.1»ò¸ü¸ß°æ±¾¡£
0x03 ²Î¿¼Á´½Ó
https://blog.sonarsource.com/blitzjs-prototype-pollution/
https://github.com/blitz-js/superjson/security/advisories/GHSA-5888-ffcr-r425
https://latesthackingnews.com/2022/07/21/blitz-js-framework-vulnerability-could-allow-remote-code-execution/
0x04 °æ±¾ÐÅÏ¢
°æ±¾ | ÈÕÆÚ | ÐÞ¸ÄÄÚÈÝ |
V1.0 | 2022-07-22 | Ê×´ÎÐû²¼ |
0x05 ¸½Â¼
¶¶È¦Îª¶Ä¶øÉú¼ò½é
¶¶È¦Îª¶Ä¶øÉú½¨Á¢ÓÚ1996Ä꣬ÊÇÓÉÁôÃÀ²©Ê¿ÑÏÍû¼ÑŮʿ´´½¨µÄ¡¢ÓµÓÐÍêÈ«×ÔÖ÷֪ʶ²úȨµÄÐÅÏ¢Äþ¾²¸ß¿Æ¼¼ÆóÒµ¡£ÊǹúÄÚ×î¾ßʵÁ¦µÄÐÅÏ¢Äþ¾²²úÎï¡¢Äþ¾²·þÎñ½â¾ö·½°¸µÄÁ캽ÆóÒµÖ®Ò»¡£
¹«Ë¾×ܲ¿Î»ÓÚ±±¾©ÊÐÖйشåÈí¼þÔ°¶¶È¦Îª¶Ä¶øÉú´óÏ㬹«Ë¾Ô±¹¤½ü4000ÈË£¬Ñз¢ÍŶÓ1200ÓàÈË, ¼¼Êõ·þÎñÍŶÓ1300ÓàÈË¡£ÔÚÈ«¹ú¸÷Ê¡¡¢ÊС¢×ÔÖÎÇøÉèÁ¢·ÖÖ§»ú¹¹ÁùÊ®¶à¸ö£¬ÓµÓÐÁýÕÖÈ«¹úµÄÏúÊÛÌåϵ¡¢ÇþµÀÌåϵºÍ¼¼ÊõÖ§³ÖÌåϵ¡£¹«Ë¾ÓÚ2010Äê6ÔÂ23ÈÕÔÚÉîÛÚÖÐС°å¹ÒÅÆÉÏÊС££¨¹ÉƱ´úÂ룺002439£©
¶àÄêÀ´£¬¶¶È¦Îª¶Ä¶øÉúÖÂÁ¦ÓÚÌṩ¾ßÓйú¼Ê¾ºÕùÁ¦µÄ×ÔÖ÷´´ÐµÄÄþ¾²²úÎïºÍ×î¼Ñʵ¼ù·þÎñ£¬×ÊÖú¿Í»§È«ÃæÌáÉýÆäIT»ù´¡ÉèÊ©µÄÄþ¾²ÐÔºÍÉú²úЧÄÜ£¬Îª´òÔìºÍÌáÉý¹ú¼Ê»¯µÄÃñ×åÐÅÏ¢Äþ¾²¹¤ÒµÁì¾üÆ·Åƶø²»Ð¸Å¬Á¦¡£
¹ØÓÚ¶¶È¦Îª¶Ä¶øÉú
¶¶È¦Îª¶Ä¶øÉúÄþ¾²Ó¦¼±ÏìÓ¦ÖÐÐÄÖ÷ÒªÕë¶ÔÖØÒªÄþ¾²Â©¶´µÄÔ¤¾¯¡¢¸ú×ٺͷÖÏíÈ«Çò×îеÄÍþвÇ鱨ºÍÄþ¾²³ÂËß¡£
¹Ø×¢ÒÔϹ«Öںţ¬»ñÈ¡È«Çò×îÐÂÄþ¾²×ÊѶ£º