¡¾·ì϶¹«¸æ¡¿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 ¸½Â¼
GA»Æ½ð¼×¼ò½é
GA»Æ½ð¼×³ÉÁ¢ÓÚ1996Ä꣬ÊÇÓÉÁôÃÀ²©Ê¿ÑÏÍû¼ÑŮʿ´´½¨µÄ¡¢Õ¼ÓÐÆëÈ«×ÔÖ÷֪ʶ²úȨµÄÐÅÏ¢°²È«¸ß¿Æ¼¼ÆóÒµ¡£ÊǹúÄÚ×î¾ßʵÁ¦µÄÐÅÏ¢°²È«²úÆ·¡¢°²È«·þÎñ½â¾ö¹æ»®µÄÁ캽ÆóÒµÖ®Ò»¡£
¹«Ë¾×ܲ¿Î»ÓÚ±±¾©ÊÐÖйشåÈí¼þÔ°GA»Æ½ð¼×´óÏ㬹«Ë¾Ô±¹¤½ü4000ÈË£¬Ñз¢ÍŶÓ1200ÓàÈË, ¼¼Êõ·þÎñÍŶÓ1300ÓàÈË¡£ÔÚÈ«¹ú¸÷Ê¡¡¢ÊÓ×¢×ÔÖÎÇøÉèÁ¢·ÖÖ§»ú¹¹ÁùÊ®¶à¸ö£¬Õ¼Óи²¸ÇÈ«¹úµÄÏúÊÛϵͳ¡¢Çþ·ϵͳºÍ¼¼ÊõÖ§³Öϵͳ¡£¹«Ë¾ÓÚ2010Äê6ÔÂ23ÈÕÔÚÉîÛÚÖÐÓ×°å¹ÒÅÆÉÏÊС££¨¹ÉƱ´úÂ룺002439£©
¶àÄêÀ´£¬GA»Æ½ð¼×ÖÂÁ¦ÓÚÌṩӵÓйú¼Ê¾ºÕùÁ¦µÄ×ÔÖ÷´´Ðµİ²È«²úÆ·ºÍ×î¼Ñʵ¼Ê·þÎñ£¬Ô®ÊÖ¿Í»§È«ÃæÌáÉýÆäIT»ù´¡ÉèÊ©µÄ°²È«ÐԺͳö²úЧÁ¦£¬Îª´òÔìºÍÌáÉý¹ú¼Ê»¯µÄÃñ×åÐÅÏ¢°²È«²úÒµÁì¾üÆ·ÅÆ¶ø²»Ð¸ÖÂÁ¦¡£
¹ØÓÚGA»Æ½ð¼×
GA»Æ½ð¼×°²È«Ó¦¼±ÏìÓ¦ÖÐÐÄÖØÒªÕë¶Ô³ÁÒª°²È«·ì϶µÄÔ¤¾¯¡¢¸ú×ٺͷÖÏíÈ«Çò×îеÄÍþвµý±¨ºÍ°²È«»ã±¨¡£
¹Ø×¢ÒÔϹ«¼ÒºÅ£¬»ñȡȫÇò×îа²È«×ÊѶ£º



¾©¹«Íø°²±¸11010802024551ºÅ