地理空間情報サーバー「GeoServer」に深刻なゼロデイ脆弱性、最大でRCEの恐れも修正版が公開
要点
-
オープンソースの地理情報プラットフォーム「GeoServer」において、認証不要で悪用可能な重大なSQLインジェクション脆弱性が公表された。
-
公開直後から悪用を試みる探索活動が観測され、特定の環境下ではデータベースホスト上での遠隔コード実行(RCE)に至る危険性が指摘されていた。
-
原因は空間データ処理ライブラリ「GeoTools」における入力値のエスケープ不備であり、2023年に修正された脆弱性のリグレッション(不具合の再発)であることが判明した。
-
プロジェクトチームはセキュリティアドバイザリ「GHSA-mqjf-5f49-2fjh」(CVSSスコア9.8)を公表し、脆弱性を修正したGeoServer 3.0.1、2.28.5、2.27.6をリリースした。
-
オープンソースの地理情報プラットフォーム「GeoServer」において、外部からの攻撃によって遠隔コード実行(RCE)を許す恐れのある深刻なゼロデイ脆弱性が発見され、公開直後から実際の攻撃試行が確認されていたことが明らかになった。セキュリティ研究者によるSNS上での情報開示を受けて初期的な探索活動が観測されたものの、その後プロジェクトチームから修正アップデートが提供されている。共通脆弱性評価システム(CVSS)のスコアは最高レベルに近い「9.8」と極めて高い。
SNS上での情報開示と直後に始まった探索活動
本脆弱性は、2026年8月12日10時46分(UTC)にセキュリティ研究者の@q1uf3ng氏がX(旧Twitter)上で最初に公表した。同氏は、GeoServerの特定関数に認証を経ないSQLインジェクション(データベースを不正に操作する攻撃手法)が存在し、システム管理者権限を持つデータベース環境では自然とRCE(遠隔から任意のプログラムを実行すること)の達成が可能になると述べていた。
脅威インテリジェンス企業watchTowrによると、この情報開示から数時間以内に悪用試行が観測され始め、少数のIPアドレス群から数百件規模の試行が確認されたという。同社の主任セキュリティ研究者Jake Knott氏は、攻撃者がインターネット上の脆弱なシステムを特定するためにエラーを誘発させている段階だと説明した。一方で同氏は、GeoServerが過去に米CISA(国土安全保障省サイバーセキュリティ・インフラセキュリティ庁)の悪用確認済み脆弱性カタログに複数掲載されるなど標的になりやすい実績を持つことや、特定構成下でRCEに至る点から、平穏な状態は長く続かないだろうと警戒を促していた。
空間検索ライブラリの処理不備とRCEへの波及経路
セキュリティ企業Hadrianの詳細分析や開発元の発表によると、問題はGeoServerが内部で利用する地理空間ライブラリ「GeoTools」のコード内に存在していた。これは、CQL(空間データ向けの問い合わせ言語)で記述されたフィルターをPostGIS(PostgreSQL向けの空間データベース拡張機能)用のSQL文に変換する処理に起因している。
具体的には、PostGIS 12以降で文字列またはJSONフィールドを扱う際、OGCフィルター実行時の jsonArrayContains 関数が、HTTPリクエストに含まれるユーザー入力値をエスケープ処理せずにPostgreSQLの jsonb_path_exists() 式へ直接埋め込んでいた。これにより、認証なしでSQLインジェクションを実行可能な状態が生まれていたという。
さらに、地理データをWeb配信する標準規格「WFS(Web Feature Service)1.0」を併用すると、クエリの最上位で2つ目のSQL文を実行する経路が形成される。Hadrianの研究者Melvin Lammerts氏の解説によれば、GeoServerがスーパーユーザー権限や pg_execute_server_program 権限を持つロールでPostgreSQLに接続していた場合、データベースホスト上でOSコマンドが実行され、完全なRCEへとエスカレーションする。仮にそうした特権が付与されていない構成であっても、SQLインジェクション自体は成立するため、接続ユーザーの権限範囲内でデータベース内のデータが不正に窃取される恐れがある。
修正バージョンの公開と過去の悪用事例
プロジェクトのメンテナによれば、今回の不具合は2023年2月に「CVE-2023-25157」とともに対応された重大なSQLインジェクション脆弱性「CVE-2023-25158」(CVSSスコア9.8)のリグレッションであると説明されている。GeoCatのプロジェクトオーナーであるJody Garnett氏は、本件がGeoToolsライブラリにおける既知の問題として特定され、対処されたと述べている。
開発チームは本脆弱性に対してGitHubセキュリティアドバイザリ「GHSA-mqjf-5f49-2fjh」(CVSSスコア9.8)を発行し、修正版としてGeoServer 3.0.1、2.28.5、2.27.6をリリースした。影響を受けるMavenパッケージ「org.geotools:gt-jdbc-postgis」のバージョンと修正版は以下の通りである。
- 35.0(35.1で修正)
- 34.0以上(34.5で修正)
- 33.1以上(33.6で修正)
GeoServerを巡っては、2024年にもGeoToolsの脆弱性(CVE-2024-36401、CVSSスコア9.8)が悪用され、侵害された機器がDDoS攻撃や暗号資産マイニング用のボットネット、レジデンシャルプロキシに転用された経緯がある。パッチ未適用の段階では外部公開インスタンスの特定やアクセスの制限が求められていたが、現在は各修正アップデートの適用が可能となっている。