¡¾Â©¶´Í¨¸æ¡¿Swagger UI¿çÕ¾½Å±¾Â©¶´

Ðû²¼Ê±¼ä 2022-05-25

 

0x00 ©¶´¸ÅÊö

CVE   ID


·¢ÏÖʱ¼ä

2022-05-24

Àà    ÐÍ

XSS

µÈ    ¼¶

¸ßΣ

Ô¶³ÌÀûÓÃ

ÊÇ

Ó°Ï췶Χ


¹¥»÷ÅÓ´ó¶È

µÍ

Óû§½»»¥


PoC/EXP

ÊÇ

ÔÚÒ°ÀûÓÃ


 

0x01 ©¶´ÏêÇé

Swagger UI ÊÇÒ»¸öÊÜ»¶Ó­µÄ¿ªÔ´¹¤¾ß£¬¿É×ÊÖúÓû§ÔÚûÓÐÈκÎʵÏÖÂß¼­µÄÇé¿öÏ¿ÉÊÓ»¯ API ×ÊÔ´²¢ÓëÖ®½»»¥¡£Ëü±»Öڶ๫˾ʹÓ㬰üÂÞ PayPal¡¢Shopify¡¢Microsoft¡¢Yahoo¡¢GitHub¡¢Atlassian µÈ¡£

5ÔÂ16ÈÕ£¬Ñо¿ÈËÔ±Åû¶ÁËSwagger UIÖеÄÒ»¸öDOM ÐÍXSS©¶´¡£ÓÉÓÚSwagger UIÖÐʹÓÃÁ˹ýʱµÄ¿âDOMpurify£¨ÓÃÓÚÊäÈëÇåÀí£©£¬µ¼ÖÂÁËÓɲéѯ²ÎÊý¿ØÖƵÄDOM XSS©¶´£¬ÔÊÐíÔÚÒ³ÃæÉÏ×¢ÈëÈκÎÊôÐÔµÄHTMLÔªËØ£¨½Å±¾±êÇ©³ýÍ⣩¡£

Ä¿Ç°´Ë©¶´µÄPoCÒѹûÈ»£¬¿ÉÒÔÀûÓôË©¶´ÒÔÀ©Õ¹ÇÔÈ¡Óû§µÄ CSRF token²¢½Ó¹ÜÊܺ¦ÕßµÄÕÊ»§¡£

 

Ó°Ï췶Χ

3.14.1<= Swagger UI < 3.38.0

 

0x02 Äþ¾²½¨Òé

Ä¿Ç°´Ë©¶´ÒѾ­ÐÞ¸´£¬½¨ÒéÊÜÓ°ÏìÓû§¼°Ê±Éý¼¶¸üÐÂSwagger UIµ½×îа汾¡£

ÏÂÔØÁ´½Ó£º

https://github.com/swagger-api/swagger-ui/releases

×¢£ºÈç¹ûÎÞ·¨Éý¼¶Õû¸ö Swagger UI °ü£¬Óû§¿ÉÒÔÑ¡Ôñ½« DomPurify °üÉý¼¶µ½ Swagger UI ÖÐʹÓõİ汾¡£

 

0x03 ²Î¿¼Á´½Ó

https://www.vidocsecurity.com/blog/hacking-swagger-ui-from-xss-to-account-takeovers/

https://hackerone.com/reports/1072868

https://latesthackingnews.com/2022/05/24/swagger-ui-library-vulnerability-potentially-affects-multiple-services/

 

0x04 °æ±¾ÐÅÏ¢

°æ±¾

ÈÕÆÚ

ÐÞ¸ÄÄÚÈÝ

V1.0

2022-05-25

Ê×´ÎÐû²¼

 

0x05 ¸½Â¼

¶«É­Æ½Ì¨¼ò½é

¶«É­Æ½Ì¨¹«Ë¾½¨Á¢ÓÚ1996Ä꣬²¢ÓÚ2010Äê6ÔÂ23ÈÕÔÚÉî½»ËùÖÐС°åÕýʽ¹ÒÅÆÉÏÊУ¬ÊǹúÄÚ¼«¾ßʵÁ¦µÄ¡¢ÓµÓÐÍêÈ«×ÔÖ÷֪ʶ²úȨµÄÍøÂçÄþ¾²²úÎï¡¢¿ÉÐÅÄþ¾²¹ÜÀíƽ̨¡¢Äþ¾²·þÎñÓë½â¾ö·½°¸µÄ×ÛºÏÌṩÉÌ¡£

¹«Ë¾×ܲ¿Î»ÓÚ±±¾©ÊÐÖйشåÈí¼þÔ°£¬ÔÚÈ«¹ú¸÷Ê¡¡¢ÊС¢×ÔÖÎÇøÉèÓзÖÖ§»ú¹¹£¬ÓµÓÐÁýÕÖÈ«¹úµÄÇþµÀÌåϵºÍ¼¼ÊõÖ§³ÖÖÐÐÄ£¬²¢ÔÚ±±¾©¡¢ÉϺ£¡¢³É¶¼¡¢¹ãÖÝ¡¢³¤É³¡¢º¼ÖݵȶàµØÉèÓÐÑз¢ÖÐÐÄ¡£

¶àÄêÀ´£¬¶«É­Æ½Ì¨ÖÂÁ¦ÓÚÌṩ¾ßÓйú¼Ê¾ºÕùÁ¦µÄ×ÔÖ÷´´ÐµÄÄþ¾²²úÎïºÍ×î¼Ñʵ¼ù·þÎñ£¬×ÊÖú¿Í»§È«ÃæÌáÉýÆäIT»ù´¡ÉèÊ©µÄÄþ¾²ÐÔºÍÉú²úЧÄÜ£¬Îª´òÔìºÍÌáÉý¹ú¼Ê»¯µÄÃñ×åÐÅÏ¢Äþ¾²¹¤ÒµÁì¾üÆ·Åƶø²»Ð¸Å¬Á¦¡£


¹ØÓÚ¶«É­Æ½Ì¨

¶«É­Æ½Ì¨Äþ¾²Ó¦¼±ÏìÓ¦ÖÐÐÄÖ÷ÒªÕë¶ÔÖØÒªÄþ¾²Â©¶´µÄÔ¤¾¯¡¢¸ú×ٺͷÖÏíÈ«Çò×îеÄÍþвÇ鱨ºÍÄþ¾²³ÂËß¡£

¹Ø×¢ÒÔϹ«Öںţ¬»ñÈ¡È«Çò×îÐÂÄþ¾²×ÊѶ£º

image.png