网络安全研究人员在一款主流 Java 安全库 pac4j-jwt 中发现一处高危漏洞。该库基于 JSON Web Token(JWT)为成千上万的应用提供身份认证与安全保护。
该漏洞编号为 CVE-2026-29000,CVSS 评分达到满分 10.0,属于Critical 高危漏洞。只要攻击者获取到服务器的 RSA 公钥,即可远程伪造管理员身份凭证。
该漏洞由 CodeAnt AI 安全研究团队发现,存在于库中 JwtAuthenticator 组件对加密令牌(JWE)的处理逻辑中。
标准 JWT 安全机制依赖签名(JWS)验证令牌完整性,而许多企业系统同时会使用加密(JWE)隐藏令牌内容。pac4j-jwt 的漏洞正是出在这两种机制的结合处。
JWE 封装明文 JWT 攻击手法
攻击者可构造一个无签名的 PlainJWT,并用服务器公钥将其封装进 JWE 加密容器中。
核心逻辑缺陷
服务器解密令牌后,库内的
toSignedJWT() 函数会因内部令牌未签名而正确返回 null。但后续的签名校验模块仅通过简单的 null 判断就被直接跳过。静默认证绕过
库会直接使用令牌中未经验证的声明信息创建用户档案,相当于将伪造的 PlainJWT 视为可信身份。
攻击者只需在令牌中随意指定
subject(用户)和 role(角色)字段,无需知晓服务器私钥,就能冒充任意用户包括系统管理员,进而导致:- 系统完全沦陷:获取管理员后台与敏感数据的全部权限
- 横向渗透:利用劫持凭证深入企业内网
pac4j 维护者 Jérôme Leleu 已确认漏洞,并在所有活跃版本分支中发布修复补丁。使用 pac4j-jwt 的机构应立即优先升级:
| 受影响分支 | 建议升级版本 |
|---|---|
| 4.x 系列 | 升级至 4.5.9 及以上 |
| 5.x 系列 | 升级至 5.7.9 及以上 |
| 6.x 系列 | 升级至 6.3.3 及以上 |
CodeAnt AI 安全研究团队已在官方博客发布完整技术分析与可利用 PoC,帮助安全团队理解并排查该漏洞。
安全专家建议:即便完成补丁修复,企业仍应检查 JWT 配置,强制要求令牌必须携带签名,避免出现本次漏洞中 “静默跳过校验” 的逻辑。








发表评论
您还未登录,请先登录。
登录