
Spring4Shell(CVE-2022-22965)に関する詳細な解説を提供し、脆弱なSpringアプリケーションにおける根本原因、悪用条件、影響、CVSS、および緩和策を網羅しています。
重大なリモートコード実行 (RCE) 脆弱性
公開開示日: 2022年3月31日
Spring4Shell は CVE-2022-22965 の通称であり、Springのデータバインディングメカニズムにおける脆弱性で、攻撃者が リモートコード実行 (RCE) を達成する可能性があります。
主に以下のアプリケーションが影響を受けました:
Spring MVC は HTTP リクエストパラメータを Java オブジェクトフィールドに自動的にマッピングします。これは データバインディング と呼ばれるプロセスです。
特定の条件下では、攻撃者は以下のことが可能でした:
これにより、最終的にサーバ上での任意のコード実行が可能になりました。

Spring4Shell は 普遍的に悪用できるわけではありませんでした。以下のすべてが真である必要がありました:
Spring Boot 実行可能 JAR としてパッケージ化されている場合、悪用は通常不可能でした。
悪用に成功した場合、攻撃者は以下のことが可能でした:
| 指標 | 値 |
|---|---|
| CVE ID | CVE-2022-22965 |
| CVSSスコア | 9.8 (重大) |
| 攻撃元 | ネットワーク |
| 認証要求 | ❌ いいえ |
| ユーザー操作 | ❌ なし |
| 影響 | 完全なRCE |
以下にアップグレード:
Spring Boot のバージョンもそれに応じて更新されました。
| 日付 | イベント |
|---|---|
| 2022年3月 | 脆弱性が報告される |
| 2022年3月31日 | 公開開示 |
| 同日 | パッチリリース |
| その後 | 世界中でセキュリティスキャンが開始 |
| 特徴 | Spring4Shell | Log4Shell |
|---|---|---|
| フレームワーク | Spring Framework | Apache Log4j |
| CVE | 2022-22965 | 2021-44228 |
| 悪用の複雑さ | 中程度(条件が必要) | 非常に低い |
| デフォルトの露出 | 限定的 | 広範囲 |
| CVSS | 9.8 | 10.0 |
Spring4Shell も深刻でしたが、Log4Shell の方が現実世界での露出が広範でした。
| フィールド | 値 |
|---|---|
| 名称 | Spring4Shell |
| CVE | CVE-2022-22965 |
| タイプ | リモートコード実行 |
| 影響を受けるソフトウェア | Spring Framework |
| 深刻度 | 重大 |
| パッチの有無 | はい |
| 悪用条件 | 特定の設定が必要 |
Spring4Shell は、最新のフレームワークにおける複雑なオブジェクトバインディングとリフレクションが、予期しない攻撃対象領域をもたらす可能性があることを示しました。
Log4Shell ほどの世界的な影響はありませんでしたが、影響を受ける環境では即時のパッチ適用が必要な重大な脆弱性であることに変わりはありません。