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