otuva/CVE-2026-29000

GitHub: otuva/CVE-2026-29000

针对pac4j-jwt认证绕过漏洞(CVE-2026-29000)的概念验证工具,通过JWE嵌套PlainJWT实现签名验证绕过。

Stars: 0 | Forks: 0

# CVE-2026-29000:pac4j-jwt 认证绕过 POC 本仓库包含 `pac4j-jwt` (CVE-2026-29000) 中认证绕过漏洞的概念验证 (POC)。该漏洞允许攻击者通过在 JWE (JSON Web Encryption) 容器内嵌套 PlainJWT (使用 `alg: none`) 来绕过签名验证。 ## 概述 该攻击利用了服务器的特性:服务器愿意使用其公钥解密 JWE,并随后信任内部的 JWT 而不验证其签名,前提是该 JWT 使用了 `none` 算法。 ## 前置条件 请确保已安装 Python 3 以及所需的依赖项: ``` pip install requests jwcrypto ``` ## 使用方法 ### 1. 生成伪造 Token 使用 `exp.py` 从 JWKS 端点获取目标的公钥,制作一个具有 `ROLE_ADMIN` 权限的恶意 Token,并将其封装在 JWE 中。 ``` python3 exp.py --user admin --role ROLE_ADMIN ``` **示例:** ``` python3 exp.py http://localhost:8080 ``` ### 2. 与 API 交互 获取伪造的 Token 后,使用 `app.py` 与受保护的 API 端点进行交互。 ``` python3 app.py ``` **测试特定端点:** ``` python3 app.py http://localhost:8080 --endpoint /api/users ``` ## 文件 - `exp.py`:主要的漏洞利用脚本,用于获取 JWKS、制作 PlainJWT 并伪造 JWE。 - `app.py`:用于针对发现的 API 端点 (`/api/dashboard`, `/api/users`, `/api/settings`) 测试伪造 Token 的实用脚本。 ## 免责声明 此 POC 仅供教育和授权安全测试目的使用。未经授权访问计算机系统是非法的。
标签:alg-none攻击, CISA项目, CVE-2026-29000, GHAS, Java安全, JWE注入, JWKS, JWT漏洞, pac4j-jwt, POC验证, Web安全, 中间人攻击, 协议分析, 安全测试, 攻击性安全, 权限提升, 消息认证码, 签名验证绕过, 蓝队分析, 认证绕过, 身份欺骗, 逆向工具