| Title | Apache Software FoundationのApache Camelにおける信頼できないデータのデシリアライゼーションに関する脆弱性 |
|---|---|
| Summary | Camel-PQC の FileBasedKeyLifecycleManager クラスは、設定されたキー・ディレクトリ内の `keyId.key` ファイルの内容を java.io.ObjectInputStream を使用してデシリアライズしますが、ObjectInputFilter やクラス・ロード制限が適用されていません。`readObject()` の呼び出しが完了した後に java.security.KeyPair へのキャストが評価されるため、デシリアライズされたオブジェクト内の `readObject()` の副作用は型チェックより先に実行されます。Camel アプリケーションが使用するキー・ディレクトリに書き込み可能な攻撃者は、パス・トラバーサル、誤設定されたファイルシステム権限、侵害されたキー・プロビジョニング・パイプライン、またはシンボリックリンク攻撃などを通じて、巧妙に作成された Java シリアライズ・オブジェクトを配置でき、それが通常のキー・ライフサイクル操作時にデシリアライズされることで、アプリケーションのコンテキストで任意のコードを実行する可能性があります。この問題は Apache Camel のバージョン 4.19.0 から 4.20.0 未満、及び 4.18.0 から 4.18.2 未満に影響します。ユーザーには、本問題を修正し、java.io.ObjectInputStream ベースのキーおよびメタデータのストレージを標準的な PKCS#8(秘密鍵)/ X.509 SubjectPublicKeyInfo(公開鍵)の Base64 JSON エンコーディングに置き換えたバージョン 4.20.0 へアップグレードすることを推奨します。4.18.x LTS リリースを使用しているユーザーは 4.18.2 にアップグレードしてください。 |
| Possible impacts | 当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 |
| Solution | 正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。 |
| Publication Date | April 27, 2026, midnight |
| Registration Date | April 30, 2026, 11:02 a.m. |
| Last Update | April 30, 2026, 11:02 a.m. |
| CVSS3.0 : 重要 | |
| Score | 7.8 |
|---|---|
| Vector | CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| Apache Software Foundation |
| Apache Camel 4.18.0 以上 4.18.2 未満 |
| Apache Camel 4.19.0 |
| No | Changed Details | Date of change |
|---|---|---|
| 1 | [2026年04月30日] 掲載 |
April 30, 2026, 11:02 a.m. |
| Summary | The Camel-PQC FileBasedKeyLifecycleManager class deserializes the contents of `<keyId>.key` files in the configured key directory using java.io.ObjectInputStream without applying any ObjectInputFilter or class-loading restrictions. The cast to `java.security.KeyPair` is evaluated only after `readObject()` has already returned, so any `readObject()` side effects in the deserialized object run before the type check. An attacker who can write to the key directory used by a Camel application — for example through a path traversal into the directory, misconfigured filesystem permissions on the volume where keys are stored, a compromised key provisioning pipeline, or a symlink attack — can place a crafted serialized Java object that, when deserialized during normal key lifecycle operations, results in arbitrary code execution in the context of the application. This issue affects Apache Camel: from 4.19.0 before 4.20.0, from 4.18.0 before 4.18.2. Users are recommended to upgrade to version 4.20.0, which fixes the issue by replacing java.io.ObjectInputStream-based key and metadata storage with standard PKCS#8 (private key) / X.509 SubjectPublicKeyInfo (public key) Base64 JSON encoding. For users on the 4.18.x LTS releases stream, upgrade to 4.18.2. |
|---|---|
| Publication Date | April 27, 2026, 6:16 p.m. |
| Registration Date | April 28, 2026, 4:07 a.m. |
| Last Update | April 29, 2026, 4:43 a.m. |
| Configuration1 | or higher | or less | more than | less than | |
| cpe:2.3:a:apache:camel:*:*:*:*:*:*:*:* | 4.18.0 | 4.18.2 | |||
| cpe:2.3:a:apache:camel:4.19.0:*:*:*:*:*:*:* | |||||