
GeoServer (CVE-2023-25157) とライブラリ GeoTools (CVE-2023-25158) における SQLインジェクション(エラーベース) 脆弱性の実践環境(Vulnerable Lab)と詳細な攻撃分析レポートです。
各層を図解したPoC画像付きの完全な分析ドキュメントは、公式レポートをご覧ください:
(レポート内容:CQLパーサー&SQLトランスレーター層におけるエラーの発生原理、OGC XMLフィルター形式の解説、4つの攻撃ベクターの詳細分析、ペイロード、データベース上で実際に実行されるSQLクエリ、および修正の推奨事項)。
| 属性 | 詳細 |
|---|---|
| CVE ID | CVE-2023-25157 (GeoServer) & CVE-2023-25158 (GeoTools) |
| 脆弱性の種類 | Error-based SQL Injection |
| 深刻度 | Critical — CVSS v3.1: 9.8 |
| 影響を受ける製品 | GeoServer < 2.23.1, < 2.22.3, < 2.21.4 / GeoTools < 29.2, < 28.4, < 27.5 |
| 攻撃プロトコル | OGC Web Feature Service (WFS) v1.0.0 / v2.0.0 |
| 認証要件 | 不要(WFSサービスで AccessConstraints: NONE が設定されている場合) |
このラボでは、4つの実攻撃ベクターを検証し、REPORT.md で詳細に分析しています:
strStartsWith): CQL_FILTER 内の文字列プレフィックス検査関数を介した攻撃(HTTP GET)。strEndsWith): CQL_FILTER 内の文字列サフィックス検査関数を介した攻撃(HTTP GET)。PropertyIsLike): OGC XMLフィルター標準のフィルタータグを介してエスケープ文字 escape を操作する攻撃(HTTP POST)— すべてのデフォルト設定で機能する最も危険なベクター。FeatureId): preparedStatements = false の場合に、String型プライマリキーによるフィルターパラメーターを介した攻撃。プロジェクトのルートディレクトリでターミナルを開き、次のコマンドを実行します:
docker compose up -d
システムは次の2つのコンテナを起動します:
example テーブルと example_str テーブルを持つ vulhub データベースが含まれています)。GeoServerのログを確認して、サービスが完全に起動したことを確認します:
docker compose logs -f geoserver
CONFIGURATION COMPLETE というメッセージが表示されたら、以下のURLからGeoServerにアクセスできます:
http://localhost:8080/geoserver/web/admin / geoserverコンテナを停止してリソースを解放するには:
# Tắt lab (giữ lại dữ liệu database)
docker compose down
# Tắt lab và xóa sạch toàn bộ dữ liệu volume
docker compose down -v
├── REPORT.md # Báo cáo phân tích kỹ thuật & PoC chi tiết
├── docker-compose.yml # Cấu hình khởi tạo môi trường lab GeoServer + PostgreSQL
├── init.sql # Script khởi tạo database và dữ liệu mẫu cho lab
├── startup.sh # Script cấu hình tự động GeoServer khi khởi chạy container
└── img/ # Thư mục chứa hình ảnh minh chứng PoC