¡¾·ì϶¹«¸æ¡¿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 ¸½Â¼

GA»Æ½ð¼×¼ò½é

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

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

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


¹ØÓÚGA»Æ½ð¼×

GA»Æ½ð¼×°²È«Ó¦¼±ÏìÓ¦ÖÐÐÄÖØÒªÕë¶Ô³ÁÒª°²È«·ì϶µÄÔ¤¾¯¡¢¸ú×ٺͷÖÏíÈ«Çò×îеÄÍþвµý±¨ºÍ°²È«»ã±¨¡£

¹Ø×¢ÒÔϹ«¼ÒºÅ£¬»ñȡȫÇò×îа²È«×ÊѶ£º

image.png