¡¾Îó²îͨ¸æ¡¿SuperjsonÔ¶³Ì´úÂëÖ´ÐÐÎó²î£¨CVE-2022-23631£©

Ðû²¼Ê±¼ä 2022-07-22

0x00 Îó²î¸ÅÊö

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»ù´¡ÉèÊ©µÄÇå¾²ÐÔºÍÉú²úЧÄÜ£¬Îª´òÔìºÍÌáÉý¹ú¼Ê»¯µÄÃñ×åÐÅÏ¢Çå¾²¹¤ÒµÁì¾üÆ·ÅÆ¶ø²»Ð¸Æð¾¢ ¡£

 

¹ØÓÚ×ðÁú¿­¹ÙÍøÈë¿Ú

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

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

image.png