JDK 9+ 上の Data Binding を介した Spring Framework の RCE 脆弱性
この脆弱性に関する現時点での公知情報を可能な限り集約し、そのような場合に取るべき対策を把握することを目的としています。
満たすべき条件(AND)は以下の通りです:
現時点ではこのエクスプロイトに対して脆弱ではありません。ただし、この脆弱性はより一般的な性質を持つため、他の悪用方法が存在する可能性があることに注意してください。
Spring Framework
以前のバージョンやサポートが終了したバージョンも影響を受けます。
Spring Framework
脆弱性のパッチ適用が不可能な場合、Spring はいくつかの回避策を公開しました。
Apache Tomcat は適切な保護を提供する 3 つの新しいバージョン 10.0.20、9.0.62、8.5.78 をリリースしており、Spring Framework の更新に対する追加の保護レイヤーとして検討することが推奨されます。
Spring Framework 5.3.18 に依存する Spring Boot 2.6.6 および 2.5.12 のバージョンがリリースされました。
Spring4Shell に対して脆弱なインスタンスを検出するために、ツール https://github.com/hillu/local-spring-vuln-scanner (ミラー) を使用できます。 実行例は次のとおりです:
./local-spring-vuln-scanner --verbose --log </path/to/file.log> </path/to/app1> </path/to/appN>
このリポジトリの "detection" ディレクトリにある Wazuh 用の検出ルールを作成しました。これは攻撃指標(IOA)に基づいて攻撃の試行を検出することができます。
SerializationUtils.deserialize(...) メソッドの使用を非推奨とするコミットに関する憶測がありました。このクラスは外部入力にさらされておらず、非推奨はこの脆弱性とは関係ありません。
この脆弱性の報告の直前に公開された Spring Cloud Function の CVE CVE-2022-22963 との混同がありました。これも関連はありません。
TryHackMe は Spring4Shell のインタラクティブなエクスプロイトラボを作成しました