此工具仅用于教育和道德安全测试目的。 我绝不会以任何形式支持威胁行为。使用风险自负。
CVE-2026-29000 是 pac4j-jwt 库中的一个严重漏洞(CVSS 10.0)。该漏洞源于 JwtAuthenticator 在处理嵌套(加密)令牌时验证逻辑不当。
该缺陷的存在是因为虽然 pac4j 能够使用服务器密钥正确解密 JWE(JSON Web Encryption)令牌,但未能对内部 JWT 强制执行签名验证。这使得攻击者可以将一个未签名的 JWT(使用 {"alg": "none"})包裹在有效的 JWE 包装器中。服务器解密 JWE 后,信任内部载荷并授予访问权限。
pac4j 版本。ROLE_ADMIN)。提供的脚本 CVE-2026-29000.py 自动执行以下步骤:
/api/auth/jwks 端点获取目标服务器的公共 RSA 密钥。alg: none 和管理员声明构造一个未签名的 JWT。确保已安装所需的 Python 库:
pip install requests jwcrypto
python3 CVE-2026-29000.py <TARGET_URL>
示例:
python3 CVE-2026-29000.py http://vulnerable-app.local:8080
为缓解此漏洞,请采取以下措施:
pac4j-jwt 升级到 4.5.9、5.7.9 或 6.3.3(或更高)版本。JwtAuthenticator 配置明确要求有效签名,并且不允许使用 none 算法。作者: Cipher1x1