透過 kid 路徑遊走繞過 JSON Web 權杖簽章

high Web App Scanning Plugin ID 115300

概要

透過 kid 路徑遊走繞過 JSON Web 權杖簽章

說明

可以簽署 JSON Web Token,以防止資料竄改。應用程式有時會使用 'kid' (金鑰 ID) 標頭參數作為檔案的路徑,其內容會用作驗證權杖簽章的金鑰。

當 'kid' 值未經過驗證時,攻擊者可以使用路徑遊走,將其指向具有已知內容的可預測檔案,例如空白檔案 (/dev/null)。然後,攻擊者可以使用相應的密鑰(空文件的空密鑰)簽署偽造的令牌,該應用程序將接受該密鑰。

視權杖使用方式而定,攻擊者可利用此弱點來偽造有效權杖並模擬其他使用者,或取得進一步的權限。

解決方案

確保應用程式根據其控制的受信任金鑰驗證每個 JSON Web 權杖。影響金鑰解析的標頭參數 (kid、jwk、jku、x5u、x5c) 絕對不能按原樣受信任:將驗證釘選到已知金鑰或嚴格的允許清單、拒絕標頭選擇意外金鑰的權杖,以及清理用於查詢或載入金鑰的任何值。

另請參閱

https://auth0.com/blog/critical-vulnerabilities-in-json-web-token-libraries

https://cheatsheetseries.owasp.org/cheatsheets/JSON_Web_Token_for_Java_Cheat_Sheet.html

https://portswigger.net/web-security/jwt

https://research.securitum.com/jwt-json-web-token-security/

Plugin 詳細資訊

嚴重性: High

ID: 115300

類型: Check Based

已發布: 2026/7/17

已更新: 2026/7/17

掃描範本: api, basic, full, mcp, pci, scan

風險資訊

VPR

風險因素: High

分數: 7

百分位: 0

CVSS v2

風險因素: High

基本分數: 7.8

媒介: CVSS2#AV:N/AC:L/Au:N/C:N/I:C/A:N

CVSS 評分資料來源: Tenable

CVSS v3

風險因素: High

基本分數: 7.5

媒介: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N

CVSS 評分資料來源: Tenable

CVSS v4

風險因素: High

Base Score: 8.7

Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N

CVSS 評分資料來源: Tenable

參考資訊