JVNDB-2026-022690 | |
Apache Software FoundationのApache Camelにおける信頼できないデータのデシリアライゼーションに関する脆弱性 | |
| 概要 | |
Apache Camelにおける信頼されていないデータの逆シリアライズ(Deserialization)脆弱性について説明します。camel-vertx-httpコンポーネントは、Content-Typeがapplication/x-java-serialized-objectのHTTPレスポンスボディを、ObjectInputFilterを適用せずにjava.io.ObjectInputStreamでそのまま逆シリアライズしています(VertxHttpHelper.deserializeJavaObjectFromStream)。この逆シリアライズ処理は、producerエンドポイントでtransferException=true(またはコンポーネントレベルでallowJavaSerializedObject=true)が設定され、かつthrowExceptionOnFailureがデフォルトのtrueのままである場合にのみ実行されます。この場合、バックエンドのHTTPレスポンスが5xxステータスかつapplication/x-java-serialized-objectのコンテンツタイプであれば、そのボディはクラス制限なしに逆シリアライズされます。攻撃者がCamelのproducerが通信するバックエンドを、中間者攻撃(暗号化されていないHTTP接続上)やバックエンドサービスの侵害を通じて制御できる場合、巧妙に作成されたシリアライズ済みJavaオブジェクトを返すことで、適切なガジェットチェーンがクラスパスに存在すれば、Camelアプリケーションホスト上でリモートコード実行を達成する可能性があります。この経路は、transferExceptionがfalseに設定されているデフォルト設定の場合には到達できません。本脆弱性はApache Camelのバージョン4.0.0以降4.14.8未満、4.15.0以降4.18.3未満、4.19.0以降4.20.0未満に影響します。ユーザーは本問題を修正したバージョン4.20.0へのアップグレードを推奨します。4.14.xのLTS系を使用している場合は4.14.8、4.18.x系を使用している場合は4.18.3へのアップグレードも推奨されます。アップグレード後は、両ヘルパーユーティリティが実施する逆シリアライズ処理は、デフォルトのObjectInputFilter(allow-list java.**;javax.**;org.apache.camel.**;!*)によって制約されます。このフィルタは、新たに追加されたdeserializationFilterエンドポイントオプションやJVM全体の-Djdk.serialFilterシステムプロパティを通じてカスタマイズ可能です。すぐにアップグレードできない環境では、信頼できないまたはネットワークから到達可能なバックエンドと通信するproducerでtransferException=true(またはallowJavaSerializedObject=true)を有効にしないこと、中間者攻撃によるレスポンスのすり替えを防ぐためにproducer接続をTLS(https)にすること、必要に応じて明示的に-Djdk.serialFilterで許可リスト(例:java.**;org.apache.camel.**;!*)を設定して逆シリアライズを制限することが推奨されます。 | |
| CVSS による深刻度 (CVSS とは?) | |
|
CVSS v3 による深刻度
基本値: 8.1 (重要) [その他]
| |
| 影響を受けるシステム | |
|
| |
Apache Software Foundation | |
本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。 | |
| 想定される影響 | |
・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 | |
| 対策 | |
ベンダ情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
Apache Software Foundation Openwall | |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
|
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2026/07/06 |
| 登録日 | 2026/07/09 |
| 最終更新日 | 2026/07/09 |



