¡¾Îó²îͨ¸æ¡¿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»ù´¡ÉèÊ©µÄÇå¾²ÐÔºÍÉú²úЧÄÜ£¬Îª´òÔìºÍÌáÉý¹ú¼Ê»¯µÄÃñ×åÐÅÏ¢Çå¾²¹¤ÒµÁì¾üÆ·ÅÆ¶ø²»Ð¸Æð¾¢¡£
¹ØÓÚ×ðÁú¿Ê±
×ðÁú¿Ê±Çå¾²Ó¦¼±ÏìÓ¦ÖÐÐÄÖ÷ÒªÕë¶ÔÖ÷ÒªÇå¾²Îó²îµÄÔ¤¾¯¡¢¸ú×ٺͷÖÏíÈ«Çò×îеÄÍþвÇ鱨ºÍÇå¾²±¨¸æ¡£
¹Ø×¢ÒÔϹ«Öںţ¬»ñȡȫÇò×îÐÂÇå¾²×ÊѶ£º



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