高雄榮民總醫院 冰箱管理系統 API 未授權存取漏洞 - HITCON ZeroDay

Vulnerability Detail Report

Vulnerability Overview

  • ZDID: ZD-2026-00342
  •  發信 Vendor: 衛生福利部
  • Title: 高雄榮民總醫院 冰箱管理系統 API 未授權存取漏洞
  • Introduction: 疫苗冰箱管理系統之 API 端點缺乏任何身份驗證機制,雖然該系統前端已公開顯示疫苗名稱及概略庫存狀態(如「供貨充足」、「暫無庫存」),但後端 API 回傳之資料遠超前端公開範圍,未經授權即可取得。

處理狀態

目前狀態

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

處理歷程

  • 2026/03/17 16:19:17 : 新提交 (由 肉 更新此狀態)
  • 2026/03/17 16:20:45 : 新提交 (由 肉 更新此狀態)
  • 2026/03/18 15:13:33 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2026/03/26 18:24:47 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2026/03/26 18:24:47 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2026/03/26 18:24:48 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2026/03/31 17:40:13 : 已修補 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2026/04/08 03:00:07 : 公開 (由 HITCON ZeroDay 平台自動更新)

詳細資料

  • ZDID:ZD-2026-00342
  • 通報者:kevin2758 ()
  • 風險:中
  • 類型:存取控制缺陷 (Broken Access Control)

參考資料

攻擊者可經由該漏洞取得、修改、刪除系統中的其他使用者的資料,或連線至高權限使用者的頁面。

OWASP Top 10 - 2017 A5 - Broken Access Control
https://www.owasp.org/index.php/Top_10-2017_A5-Broken_Access_Control

CWE-284: Improper Access Control
https://cwe.mitre.org/data/definitions/284.html
(本欄位資訊由系統根據漏洞類別自動產生,做為漏洞參考資料。)

相關網址

https://vghksvims.vghks.gov.tw/
https://vghksvims.vghks.gov.tw/api/vaccine/data

敘述

一、漏洞概述

高雄榮民總醫院部署了一套疫苗冰箱管理系統(Vaccine Inventory Management System),用於管理院內疫苗庫存、效期追蹤及條碼管理,該系統前端為 React SPA 應用程式,後端提供 RESTful API。

經測試發現,該系統之 API 端點 完全未實作任何身份驗證或授權機制,任何人皆可透過網路直接呼叫 API 取得醫院即時疫苗庫存資料。

二、漏洞重現步驟

步驟 1:確認系統存在

存取 https://vghksvims.vghks.gov.tw/,可看到系統前端頁面,標題為「高榮疫苗冰箱」。

步驟 2:分析前端 JavaScript 取得 API 端點

檢視前端 JavaScript 檔案 /assets/index-BSql6lyg.js?v=1.2,可發現以下 API 呼叫:

fetch("https://vghksvims.vghks.gov.tw/api/vaccine/data"

步驟 3:直接呼叫 API 取得資料

使用以下指令即可取得完整疫苗庫存資料,無需任何認證 Token、Cookie 或帳號密碼

curl -sk -X POST -H "Content-Type: application/json" -d '{}' "https://vghksvims.vghks.gov.tw/api/vaccine/data"

系統回傳 HTTP 200,並包含完整的 JSON 格式疫苗庫存資料。

步驟 4:確認無認證機制

檢視前端 JavaScript,localStorage 僅儲存 UI 偏好設定(fontSizelanguage),無任何 Token、Session ID 或 Authorization Header 之實作,證實系統完全未實作身份驗證。

三、洩漏資料內容(超出前端公開範圍之欄位)

圖片

以上為 即時真實資料,其中精確數量、批次分布及內部識別碼等資訊未於前端公開顯示。

五、影響分析

  1. 內部管理資訊洩漏:精確庫存數量、批次效期分布及內部識別碼屬於醫院內部管理資訊,不應對外公開,攻擊者可掌握各批次即將過期的疫苗數量,推估醫院採購週期及供應狀態。
  2. API 無認證設計風險:所有 API 端點完全無認證機制,雖目前僅發現讀取端點,但此架構設計表示若系統未來新增寫入功能,同樣將缺乏保護。
  3. 內部識別碼洩漏:GUID、條碼等內部識別碼可能被用於對系統其他功能進行進一步探測。

修補建議

1. 為 `/api/vaccine/data` 及所有 API 端點加入身份驗證機制(如 JWT Token 或 Session-based Authentication),未通過驗證之請求應回傳 HTTP 401。
2. 存取控制:實作基於角色的存取控制(RBAC),僅允許授權之醫護人員存取疫苗庫存資料。

擷圖

留言討論

聯絡組織

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