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

high Web App Scanning 插件 ID 115302

简介

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

描述

可以对 JSON Web Token 签名以防止数据篡改。“x5c”(X.509 证书链)标头参数可嵌入其公钥必须用于验证标记签名的证书。

当应用程序信任嵌入在“x5c”标头中的证书而不是其控制的密钥时,攻击者可在标记标头中嵌入自签名证书,并使用匹配的私钥签署伪造的标记,该密钥将被应用程序接受。

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

解决方案

确保应用程序根据其控制的受信任密钥验证每个 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: 115302

类型: 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

参考资料信息