Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-78165 — CVE-2026-78165 の実行可能な概念実証(PoC)再現ツール。Apache Camel camel-spring-redis における Redis PUBLISH ペイロードの JDK デシリアライズがフィルタリングされていないことを実証します。 | Kitploit
ツール/GitHubGitHub/oscerd/cve-2026-78165
防御ツール脆弱性分析エクスプロイト学習と教育
GitHuboscerd/cve-2026-78165

CVE-2026-78165

CVE-2026-78165 の実行可能な概念実証(PoC)再現ツール。Apache Camel camel-spring-redis における Redis PUBLISH ペイロードの JDK デシリアライズがフィルタリングされていないことを実証します。

リポジトリを見る
32日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-78165 — camel-spring-redis: Redis ペイロードの無フィルタ JDK デシリアライズ

Apache Camel の脆弱性に対する実行可能な概念実証(PoC)再現環境です。この脆弱性では、camel-spring-redis が serializer オプション未設定時に、java.io.ObjectInputFilter を一切持たない素の JdkSerializationRedisSerializer を構築し、すべての読み取りに使用していました。RedisConsumer.setBody は Exchange が構築される前に、購読チャネルに パブリッシュされたすべてのメッセージの生バイト列に対してこれを適用していたため、購読チャネルに対して PUBLISH を 発行できる攻撃者はデシリアライズのシンクに直接到達し、任意のシリアライズ済みオブジェクトグラフの readObject を 実行できました(リモートコード実行、CWE-502)。同じデフォルトシリアライザがプロデューサの読み取りコマンド (GET/HGET/HGETALL/HVALS)および SpringRedisIdempotentRepository でも使用されていました。

ランタイムディレクトリスタック
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-spring-redis 4.22.0(影響あり、修正版 4.22.1)
Camel Quarkuscamel-quarkus/Quarkus 3.29.0 + camel-quarkus-spring-redis 3.29.0(Camel 4.15.0、影響あり)

この欠陥はコンポーネントが導入された 2.11.0 にまで遡るため、影響を受けるすべてのリリース、および最新の Camel Quarkus に含まれる Camel 4.15.0 が脆弱です。修正は Camel 4.18.5 / 4.22.1 / 4.23.0 で提供されます。Spring Boot モジュールは 影響を受けるビルド(4.22.0)と修正済みビルド(4.22.1)の両方を実行します。修正済み Camel を同梱した Camel Quarkus は まだリリースされていません。

実証内容

このアプリは、serializer オプションなしで cve-channel を SUBSCRIBE する Camel ルートを実行します(つまりデフォルトの JdkSerializationRedisSerializer が使用されます)。攻撃者は、そのチャネルに PUBLISH することしかできない素の Redis クライアントであり、Camel プロセスへのアクセス権はありません。攻撃者は、意図的に無害な com.example.PwnMarker の生のシリアライズ済みバイト列をパブリッシュします。このクラスの readObject は JVM グローバルフラグを反転させるだけです (ガジェットなし、コマンドなし)。影響を受けるビルドではコンシューマがこれをデシリアライズして readObject が実行されます。 一方、修正済みビルドではデフォルトの許可リスト(標準の java./javax. および org.apache.camel. 型)が com.example.PwnMarker を拒否し、InvalidClassException: filter status: REJECTED となります。

cd camel-spring-boot
mvn clean package
docker compose up -d --build     # starts Redis + the reproducer
curl -s http://localhost:8080/exploit/attack
docker compose down

影響を受けたビルドで期待される出力:

Attacker connects to Redis redis:6379 and PUBLISHes a serialized com.example.PwnMarker to channel 'cve-channel'.
PUBLISH delivered to 1 subscriber(s).

Result:
>>> PROVEN: the Redis consumer deserialized the attacker-published, non-allow-listed class
>>> (com.example.PwnMarker) with no ObjectInputFilter — its readObject executed.

脆弱性の概要

プロパティ値
コンポーネントcamel-spring-redis (camel-spring-redis-starter / camel-quarkus-spring-redis)
CWECWE-502 (信頼できないデータのデシリアライズ)
重大度HIGH
攻撃ベクターCamel の spring-redis コンシューマーが購読しているチャネルへの PUBLISH (またはプロデューサーが読み取る Redis キーの制御)。デフォルトのシリアライザーがフィルターなしでペイロードをデシリアライズする
影響ルートロジックが実行される前に、ガジェットクラスを介して Camel プロセス内でリモートコード実行が発生する
影響を受けるバージョン2.11.0 から 4.18.5 より前、4.19.0 から 4.22.1 より前
修正済みバージョン4.18.5、4.22.1、4.23.0
JIRACAMEL-24421
クレジットLeon Zlobecki

アドバイザリ: https://camel.apache.org/security/CVE-2026-78165.html

修正内容

新しい deserializationFilter エンドポイントオプションは、デフォルトのシリアライザーがペイロードを読み取る際に適用されるフィルターを制御します。未設定の場合、JVM 全体の jdk.serialFilter が存在すればそれが尊重され、そうでなければ保守的な許可リスト (標準 Java および Apache Camel の型。java.net は拒否) が適用され、さらに 4.23.0/4.22.1 では JEP-290 のグラフ形状制限も追加で適用されます。シリアライザーは、グラフが読み取られる前にストリームにフィルターを設定するデシリアライズ用コンバーターを伴う、Converter ベースのコンストラクターを通じて構築されます。serializer をカスタムの RedisSerializer に設定した場合、Camel がペイロードの読み取り方法を制御しなくなるため、フィルターは引き続きバイパスされます。

アップグレードできない場合の緩和策

JVM 全体の -Djdk.serialFilter=... を設定する (影響を受けるパスはこれを尊重します)、または serializer エンドポイントオプションを StringRedisSerializer などの非 Java シリアライザーに設定する (カスタムの redisTemplate 上だけでなく、serializer オプションとして設定する) ようにしてください。Redis で認証を必須とし、購読チャネルにパブリッシュできるユーザーを制限してください。

免責事項

このリポジトリは教育および防御目的で公開されています。Apache Camel ユーザーが脆弱性を理解し、影響を受けているかどうかを確認し、アップグレードによって解決されることを検証できるようにするためです。ペイロードはコードを実行しない無害なマーカーです。所有または運用していないシステムに対してこの資料を使用しないでください。

ツールをダウンロード