SpringShell Vulnerability Detected の翻訳版です。
SpringShell の脆弱性の検出
2022年4月4日
著者: Rob Cuddy / Global Application Security Evangelist
先週、新たに2件のSpring Frameworkの脆弱性が表面化し、いずれもクリティカルとされています。 最初のものは、Spring Cloud Functionにおける未認証のリモートコード実行(RCE)の問題で、CVE-2022-22963 という識別名で脆弱性としてリストアップされています。もう1つは、同じく未認証のRCE問題ですが、こちらはSpring Frameworkのコアにあり、識別子は CVE-2022-22965 です。3月31日現在、両方の問題に対してパッチが提供されています。
根本的な原因解析の結果、Spring Frameworkの関数がパラメータバインディング時にクラスオブジェクトを公開することが原因であると判明しました。このパラメータバインディングにより、HTTPリクエストのパラメータをアプリケーションレベルのオブジェクトにバインドできます。
クラスオブジェクトが公開されると、HTTPリクエストにURLパラメータを追加するだけで、クラスオブジェクトを操作できるようになり、リモートでコードを実行される可能性があります。Proof of Conceptでは、ログパスを変更することでTomcatサーバー上にWebシェルをドロップし、Webシェルの内容をJSPファイルに書き込めます。攻撃者は、その後、サーバー上で実行される任意のコマンドを発行できます。 Proof-of-concept Exploitが公開されて以来、活発な悪用が確認されています。 CVE-2022-22965 の深刻度は「Critical」であり、Spring Framework を使用する開発者は最優先で 5.3.18 または 5.2.20 にアップグレードする必要があります。 もし、自分のアプリケーションが危険かどうかわからない場合、アプリケーションが脆弱かどうかを特定する最も早い方法は、ソフトウェア構成分析技術(SCA)を利用することです。
SCAは、アプリケーションに脆弱なバージョンのSpring Frameworkが含まれているかどうか、また、その他の公に知られている脆弱性が含まれているかどうかを判断します。
この種のスキャンを行うツールが必要な場合、HCL AppScan on Cloud が利用可能で、これらの脆弱性やその他の脆弱性を特定する機能を備えています。
次の図は、spring-coreのjarファイルで見つかったCVE-2022-22965をハイライトしたものです。
次の図は、具体的な脆弱性の指摘を含むオープンソースレポートの一部です。
OSAのライセンスをお持ちのお客様は、オープンソースおよびサードパーティーライブラリーのスキャンを選択できます。 現在AppScan on Cloudをご利用でないお客様は、これらのSCA機能を30日間の無料トライアルで利用できます。