30秒で判断
- 対応すべき人: Apache Camel(3.0.0〜4.20.0未満)で
camel-jms/camel-sjms/camel-sjms2/camel-amqp/camel-activemqなどのJMS系コンポーネントを コンシューマとして 利用している環境 - 対応不要な人: Camel を使用していない、JMS 系コンポーネントを使っていない、または
mapJmsMessageを無効化しておりObjectMessageを受信しない構成 - 確認コマンド:
mvn dependency:tree | grep camel-jms(またはcamel-sjms等)で依存とバージョンを確認
概要
Apache Camel の camel-jms(および camel-sjms の同等クラス)における JmsBinding.extractBodyFromJms() が、受信した JMS ObjectMessage のペイロードを ObjectInputFilter やクラスの許可/拒否リストを適用せずにデシリアライズしていました(CWE-502, CVSS 9.8)。
このコードパスは mapJmsMessage オプションが有効(既定値)で Camel が JMS コンシューマとして動作する際に到達します。攻撃者が Camel アプリケーションの購読するキュー/トピックに細工した ObjectMessage を送信でき、かつクラスパス上にデシリアライズのガジェットチェーンが存在する場合、アプリケーションの権限で任意コードが実行され得ます。同じ処理は camel-sjms2(Sjms2Endpoint が SjmsEndpoint を継承)や camel-amqp(AMQPJmsBinding が JmsBinding を継承)、camel-activemq / camel-activemq6 などの JMS ファミリを通じても到達します。
CVSSベクトル
| 指標 | 値 |
|---|---|
| Attack Vector | Network |
| Attack Complexity | Low |
| Privileges Required | None |
| User Interaction | None |
| CVSSスコア | 9.8 (Critical) |
影響を受けるソフトウェア
| 製品 | 影響バージョン | 修正バージョン |
|---|---|---|
| Apache Camel | 3.0.0 <= x < 4.14.7 | 4.14.7 (LTS) |
| Apache Camel | 4.15.0 <= x < 4.18.2 | 4.18.2 |
| Apache Camel | 4.19.0 <= x < 4.20.0 | 4.20.0 |
修正バージョンと回避策
- 対策: Apache Camel 4.20.0 へアップデートする。4.14.x LTS 系は 4.14.7、4.18.x 系は 4.18.2 へアップデート
- 回避策: JMS コンシューマで
ObjectMessageを扱う必要がない場合はmapJmsMessage=falseを検討する。JMS ブローカへの書き込みを信頼できる送信元に限定する - Red Hat 製品利用者は該当 RHSA(RHSA-2026:17668 ほか)を適用
関連リンク
データソース: NVD (NIST), Apache Camel, Red Hat AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
