30秒で判断
- 対応すべき人: Apache Camel の LevelDB 集約リポジトリコンポーネントを利用しており、LevelDB ファイルへの書き込みが第三者に到達し得る構成の利用者
- 対応不要な人: Camel-LevelDB コンポーネントを使っていない、または修正版を使用中の場合
- 確認コマンド: 依存管理ファイル(Maven
pom.xml等)でcamel-leveldbのバージョンを確認
概要
Apache Camel の LevelDB コンポーネントに、安全でないデシリアライズの脆弱性が存在します。DefaultLevelDBSerializer クラスが LevelDB 集約リポジトリから読み込んだデータを java.io.ObjectInputStream で、ObjectInputFilter やクラスロード制限を一切適用せずにデシリアライズ します。LevelDB のデータベースファイルへ書き込める攻撃者が細工したシリアライズJavaオブジェクトをインジェクトすると、集約リポジトリの通常操作時のデシリアライズで、アプリケーションのコンテキストで任意コード実行に至ります。
CVSSベクトル
| 項目 | 値 |
|---|---|
| CVSS スコア | 8.8(High) |
| 攻撃元区分(AV) | ネットワーク |
| 攻撃条件の複雑さ(AC) | 低 |
| CWE | CWE-502(Deserialization of Untrusted Data) |
影響を受けるソフトウェア
| 製品 | ベンダー | 影響バージョン | 修正バージョン |
|---|---|---|---|
| Apache Camel | Apache | 4.10.0 <= 〜 < 4.10.8 | 4.10.9 |
| Apache Camel | Apache | 4.14.0 <= 〜 < 4.14.5 | 4.14.5 |
| Apache Camel | Apache | 4.15.0 <= 〜 < 4.18.0 | 4.18.0 |
修正バージョンと回避策
- 修正: 4.18.0 へアップグレード。LTS 系は 4.10.x → 4.10.9、4.14.x → 4.14.5 へアップグレード
- 回避策: LevelDB のデータベースファイルへのアクセス権を厳格に制限し、信頼できない主体が書き込めないようにする
- 確認方法: Maven / Gradle の依存で
camel-leveldbのバージョンを確認
関連リンク
データソース: NVD (NIST), GitHub Advisory Database AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
