
CVE-2026-29000の概念実証エクスプロイト。pac4j-jwtにおけるJWEでラップされた未署名JWTを介した認証バイパスであり、権限昇格を可能にします。
このツールは教育目的および倫理的なセキュリティテスト専用です。 私はいかなる形であれ脅威行為を支援しませんし、今後も支援することはありません。自己責任で使用してください。
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