通过未验证的 jwk 参数绕过 JSON Web Token 签名

high Web App Scanning 插件 ID 115301

简介

通过未验证的 jwk 参数绕过 JSON Web Token 签名

描述

可以对 JSON Web Token 签名以防止数据篡改。“jwk”(JSON Web 密钥)标头参数可以嵌入必须用于验证标记签名的公钥。

当应用程序信任嵌入在“jwk”标头中的密钥而不是其控制的密钥时,攻击者可将其自己的公钥嵌入到标记标头中,并以匹配的私钥签署伪造的标记,这将被应用程序接受。

根据标记的使用情况,攻击者可利用此漏洞伪造有效的标记并冒充其他用户,或获取进一步的权限。

解决方案

确保应用程序根据其控制的受信任密钥验证每个 JSON Web Token。影响密钥解析的标头参数(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: 115301

类型: Check Based

发布时间: 2026/7/17

最近更新时间: 2026/7/17

扫描模板: api, basic, full, mcp, pci, scan

风险信息

VPR

风险因素: Medium

分数: 5.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

参考资料信息