IPBUF安全漏洞报告
English
CVE-2026-22748 CVSS 5.3 中危

CVE-2026-22748 Spring Security JWT验证绕过漏洞

披露日期: 2026-04-22

漏洞信息

漏洞编号
CVE-2026-22748
漏洞类型
认证绕过
CVSS评分
5.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Spring Security

相关标签

Spring SecurityJWT认证绕过CVE-2026-22748

漏洞概述

Spring Security存在JWT验证配置漏洞。在使用NimbusJwtDecoder等解码器时,若未单独配置OAuth2TokenValidator,可能导致验证失效,攻击者可绕过身份验证访问系统。

技术细节

漏洞源于Spring Security对JWT解码器的配置机制。开发人员在使用NimbusJwtDecoder或NimbusReactiveJwtDecoder时,必须显式调用setJwtValidator方法配置OAuth2TokenValidator,以执行签名校验和过期检查等安全逻辑。若未正确配置,解码器仅解析令牌结构而不验证其真实性。攻击者可利用此缺陷,通过构造伪造或篡改的JWT令牌,向受影响端点发送恶意请求。由于验证逻辑缺失,应用程序会错误地信任无效令牌,导致低权限攻击者无需用户交互即可绕过身份认证,非法获取访问权限,严重破坏系统完整性。

攻击链分析

STEP 1
1. 信息收集
攻击者确认目标应用使用Spring Security并配置了JWT认证。
STEP 2
2. 构造Payload
攻击者生成一个伪造的JWT令牌,篡改其中的权限或身份声明。
STEP 3
3. 发送请求
攻击者利用低权限账户,将伪造的JWT放入Authorization头发送至服务器。
STEP 4
4. 验证绕过
由于服务端缺少Validator,错误信任该令牌,返回受保护资源。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// Vulnerable Configuration Example (Conceptual) // The developer creates a decoder but forgets to set the validator NimbusJwtDecoder decoder = NimbusJwtDecoder.withJwkSetUri("https://auth.example.com/.well-known/jwks.json").build(); // Missing critical security line: decoder.setJwtValidator(new JwtValidator()); // Attack Scenario // 1. Attacker intercepts a valid JWT or creates a new one. // 2. Attacker modifies the payload (e.g., changing "role" to "ADMIN"). // 3. Attacker sends the malicious token to the server: // curl -H "Authorization: Bearer <malicious_jwt>" https://target.com/admin // 4. Server accepts the token because the validator is missing.

影响范围

Spring Security 6.3.0 - 6.3.14
Spring Security 6.4.0 - 6.4.14
Spring Security 6.5.0 - 6.5.9
Spring Security 7.0.0 - 7.0.4

防御指南

临时缓解措施
建议开发者检查代码中所有使用NimbusJwtDecoder或NimbusReactiveJwtDecoder的地方,确保已通过setJwtValidator方法配置了有效的验证器。若无法立即升级,应在解码器初始化代码中手动添加并启用JWT签名和声明验证逻辑。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表