kid SQL インジェクションによる JSON Web トークン署名のバイパス

high Web App Scanning プラグイン ID 115299

概要

kid SQL インジェクションによる JSON Web トークン署名のバイパス

説明

JSON Web トークンは、データ改ざんから保護するために署名できます。「kid」(キー ID)ヘッダーパラメーターは、トークン署名を検証するために使用する必要があるキーを検索するためにアプリケーションによって一般的に使用されます。

「kid」値が、適切なサニタイズなしで SQL クエリに連結されると、攻撃者が、キー検索に、自分が制御する値を返すように強制するペイロードを注入する可能性があります。その後、攻撃者はその値を使って偽造トークンに署名することができ、アプリケーションはそれを受け入れます。

トークンの使用方法によっては、攻撃者がこの脆弱性を利用して有効なトークンを偽造し、他のユーザーになりすましたり、さらに権限を取得したりする可能性があります。

ソリューション

アプリケーションが、制御する信頼できるキーに対してすべての JSON ウェブトークンを検証するようにします。キー解決に影響を与えるヘッダーパラメーター(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/

プラグインの詳細

深刻度: High

ID: 115299

タイプ: Check Based

ファミリー: Web Applications

公開日: 2026/7/17

更新日: 2026/7/17

スキャン テンプレート: api, basic, full, mcp, pci, scan

リスク情報

VPR

リスクファクター: Medium

スコア: 6

パーセンタイル: 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

参照情報