30秒で判断
対応すべき人
- Spring Frameworkの
MappingJackson2MessageConverterまたはJacksonJsonMessageConverterを使用したJMSコンシューマーを運用している - かつ、信頼されていないメッセージが送信される可能性がある環境(外部システムからのJMSメッセージ受信など)
対応不要な人
- Spring Frameworkを使用していない
- JMSコンシューマーを運用していない
- 完全に信頼された内部システムとのみJMS通信を行っており、外部からメッセージを受信しない
確認コマンド
# Mavenプロジェクトの場合
mvn dependency:tree | grep "spring-jms\|spring-messaging"
# Gradleプロジェクトの場合
./gradlew dependencies | grep "spring-jms\|spring-messaging"
概要
Spring Framework 5.3〜7.0系において、MappingJackson2MessageConverterおよびJacksonJsonMessageConverterが信頼されていないJMS環境で使用された場合に問題が発生します。
Jacksonのデフォルトポリモーフィック型処理と組み合わさることで、攻撃者が制御するJMSメッセージ内の型情報から任意クラスのインスタンス化が可能となり、ガジェットクラスのデシリアライゼーションを通じた不正操作のリスクがあります。
外部からのJMSメッセージを受信する環境(パブリックなメッセージブローカー、マルチテナントシステム等)での影響が特に大きいです。
CVSSベクトル
| 項目 | 値 |
|---|---|
| Attack Vector | Network |
| Attack Complexity | High |
| Privileges Required | None |
| User Interaction | None |
| Scope | Unchanged |
| Confidentiality | High |
| Integrity | High |
| Availability | High |
| CVSSスコア | 8.1 (High) |
影響を受けるソフトウェア
| 製品 | 影響バージョン |
|---|---|
| Spring Framework | 5.3.0〜5.3.48 |
| Spring Framework | 6.1.0〜6.1.27 |
| Spring Framework | 6.2.0〜6.2.18 |
| Spring Framework | 7.0.0〜7.0.7 |
修正バージョンと回避策
修正版へのアップグレード:
| 影響バージョン | 修正バージョン |
|---|---|
| 5.3.x | 5.3.49以降 |
| 6.1.x | 6.1.28以降 |
| 6.2.x | 6.2.19以降 |
| 7.0.x | 7.0.8以降 |
<!-- Maven: pom.xml でのバージョン指定例 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-framework-bom</artifactId>
<version>6.2.19</version>
<type>pom</type>
<scope>import</scope>
</dependency>
暫定的な回避策:
- 信頼されないJMSメッセージソースから切り離す
- JMSコンシューマーでのポリモーフィック型処理を無効化する
MappingJackson2MessageConverterの代わりに型情報を使わないシンプルなコンバーターを使用する
関連リンク
データソース: NVD (NIST)
AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
