GeoServer の深刻な脆弱性 CVE-2023-35042 が FIX:RCE 攻撃が観測されている

Hackers are exploiting RCE Vulnerability (CVE-2023-35042) in GeoServer

2023/06/12 SecurityOnline — 地理空間データの閲覧/編集を可能にする、Javaで書かれたオープンソース・ソフトウェア GeoServer に、新たなセキュリティ脆弱性が発生した。このソフトウェアは、Open Geospatial Consortium (OGC) が定めたオープン・スタンダードに準拠しており、柔軟な地図の作成やデータ共有のための有力なプラットフォームとなっている。しかし、そのための強固なサーバーが、攻撃を受け続けている。


GeoServer 2 のコンフィグレーションをターゲットにするリモート攻撃者が、任意のコードを実行するための深刻な脅威として、この脆弱性 CVE-2023-35042 が浮上してきた。この脆弱性の悪用に成功した攻撃者は、”wps:Execute” リクエスト内の “java.lang.Runtime.getRuntime().exec” メソッドを利用して、悪意のペイロードを実行する。このセキュリティ上の問題は、2023年6月に野放し状態での悪用が観測され、ユーザー・コミュニティで懸念が広がっている。

先週のことだが、セキュリティ研究者である Johannes Ullrich は、GeoServer に対するスキャンが増加していることに気づいた。Ullrich は、従来のプレイブックを利用して、これらのスキャンを GeoServer のインスタンスにリダイレクトした。彼は、スキャンが既存の脆弱性を悪用しようとしているかどうかを確認するために、意図的に古いバージョンの GeoServer を使用した。しかし、その結果は驚くべきものだった。

この攻撃には、厳格な意味での脆弱性が不要なことが判明したのだ。最近の NiFi 攻撃と同様に、犯人は組み込みのコード実行機能を悪用していた。Ullrich が導入したサーバのデフォルト・インストールでは、認証情報は必要なかったが、この状況を攻撃者は最大限に利用したのだ。

Ullrich は実験を安全に行うために、GeoServer を Docker コンテナにインストールした。それにより、攻撃コードが実際に実行されるのを防ぐことが可能になった。このコンテナには、curl のようなツールがないため、悪意のある追加ペイロードの自動ダウンロードは効果的に無効化された。しかし、さらなる分析のために Ullrich は、手作業でペイロードをダウンロードしてみた。

そして、この制御された環境を構築した直後に Ullrich は、IP アドレス 109.237.96.251 から届く複数のエクスプロイト・リクエストを確認した。それらのリクエストは、GeoServer の Web Processing Server (WPS) 機能を利用するものだった。特に、攻撃者たちは、ユーザー定義の入力値と、必要な出力データ項目で処理を実行する、”Execute” オペレーションを利用していた。

攻撃リクエストは驚くほどシンプルであり、単純な bash リクエストを実行し、curl を用いて追加のコードを取得/実行するものだった。よく調べてみると、それらの攻撃の最終目的は、kinsing 暗号採掘機をインストールすることにあると判明した。

この、脆弱性 CVE-2023-35042 に関する展開は、ソフトウェア・セキュリティの現状に関する厳しい現実を明らかにしている。コードに明確な脆弱性がなくても、脅威者はシステムの組み込み機能を悪用して、攻撃を仕掛けることが可能になっている。したがって、強固なセキュリティ対策と絶え間ない警戒の必要性が、これまで以上に高まってきている。

GeoServer を使用している開発者や管理者は、脆弱性 CVE-2023-35042 に対処するための早急な措置を講じる必要がある。定期的なアップデート/厳密なスキャン/強力なアクセス制御は、あらゆるセキュリティ戦略の不可欠な部分であるべきだ。

GeoServer ですが、天気予報サイトひとつを取ってみても、さまざまなマップが使われているわけで、かなりのユーザーに支えられている OSS プロジェクトなのだと推測できます。そこに発生した脆弱性 CVE-2023-35042 ですが、この記事によると、それとは別の要因で攻撃が発生しているようです。よろしければ、カテゴリ OpenSource も、ご利用ください。