30秒で判断
- 対応すべき人: Spring Statemachine 4.0.0〜4.0.1 または 3.2.0〜3.2.4 を、永続化バックエンド(JPA/MongoDB/Redis/ZooKeeper)と併用している方。
- 対応不要な人: 修正済みバージョンを利用中の方、Kryoベースの永続化を使用していない方。
- 確認コマンド: 依存関係(Maven/Gradle)で spring-statemachine のバージョンを確認。
概要
Spring Statemachine の Kryo ベース永続化バックエンド(JPA / MongoDB / Redis / ZooKeeper)が、クラスの許可リスト(allowlist)を適用せずに状態機械コンテキストをデシリアライズします。信頼できないデータがデシリアライズ経路に到達すると、アプリケーションJVM内でのリモートコード実行につながる可能性があります(CWE-502)。
永続化ストアに攻撃者が影響を与えられる構成では、ガジェットチェーンを介した悪用のリスクが高まります。同種のデシリアライゼーション問題は本日複数公開されており(JBoss/Infinispan など)、Javaアプリケーション全般で永続化データの取り扱いを見直す契機になります。
CVSSベクトル
| 項目 | 値 |
|---|---|
| CVSSスコア | 8.8(High) |
| 攻撃元区分 (AV) | ネットワーク |
| 攻撃条件の複雑さ (AC) | 低 |
| 必要な権限 (PR) | 低 |
| CWE | CWE-502(信頼できないデータのデシリアライゼーション) |
影響を受けるソフトウェア
| 製品 | ベンダー | バージョン |
|---|---|---|
| Spring Statemachine | VMware/Spring | 4.0.0〜4.0.1、3.2.0〜3.2.4 |
修正バージョンと回避策
Spring の案内に従い、修正済みバージョンへアップデートしてください。あわせて、永続化ストアへ信頼できないデータが書き込まれない設計や、デシリアライズ対象クラスの制限を検討してください。
関連リンク
データソース: NVD (NIST), Spring Security Advisory AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
