CVE-2024-36401
Scores
EPSS Score
0.9437
CVSS
3.x 9.8
Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
All CVSS Scores
Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Description
GeoServer — это открытый сервер, который позволяет пользователям делиться и редактировать геопространственные данные. До версий 2.22.6, 2.23.6, 2.24.4 и 2.25.2 несколько параметров запросов OGC позволяют выполнять удалённый код (RCE) неаутентифицированными пользователями через специально подготовленный ввод против стандартной установки GeoServer из-за небезопасной оценки имен свойств в качестве выражений XPath. API библиотеки GeoTools, который вызывает GeoServer, оценивает имена свойств/атрибутов для типов объектов таким образом, что небезопасно передает их в библиотеку commons-jxpath, которая может выполнять произвольный код при оценке выражений XPath. Эта оценка XPath предназначена для использования только сложными типами объектов (т.е. хранилищами данных схемы приложений), но неправильно применяется и к простым типам объектов, что делает эту уязвимость применимой ко **ВСЕМ** экземплярам GeoServer. Публичный PoC не предоставлен, но эта уязвимость подтверждена как подлежащая эксплуатации через запросы WFS GetFeature, WFS GetPropertyValue, WMS GetMap, WMS GetFeatureInfo, WMS GetLegendGraphic и WPS Execute. Эта уязвимость может привести к выполнению произвольного кода. Версии 2.22.6, 2.23.6, 2.24.4 и 2.25.2 содержат исправление этой проблемы. Обходной путь состоит в удалении файла `gt-complex-x.y.jar` из GeoServer, где `x.y` — это версия GeoTools (например, `gt-complex-31.1.jar`, если используется GeoServer 2.25.1). Это удалит уязвимый код из GeoServer, но может нарушить некоторую функциональность GeoServer или помешать его развёртыванию, если модуль gt-complex необходим.
Sources
CWEs
Related Vulnerabilities
Exploits
Exploit ID: CVE-2024-36401
Source: github-poc
URL: https://github.com/amoy6228/CVE-2024-36401_Geoserver_RCE_POC
Reference Links
Vulnerable Software
Type: Configuration
Vendor: geoserver
Product: geoserver
Operating System: * * *
{
"cpe_match": [
{
"cpe23uri": "cpe:2.3:a:geoserver:geoserver:*:*:*:*:*:*:*:*",
"versionEndExcluding": "2.23.6",
"vulnerable": true
},
{
"cpe23uri": "cpe:2.3:a:geoserver:geoserver:*:*:*:*:*:*:*:*",
"versionEndExcluding": "2.24.4",
"versionStartIncluding": "2.24.0",
"vulnerable": true
},
{
"cpe23uri": "cpe:2.3:a:geoserver:geoserver:*:*:*:*:*:*:*:*",
"versionEndExcluding": "2.25.2",
"versionStartIncluding": "2.25.0",
"vulnerable": true
},
{
"cpe23uri": "cpe:2.3:a:geotools:geotools:*:*:*:*:*:*:*:*",
"versionEndExcluding": "29.6",
"vulnerable": true
},
{
"cpe23uri": "cpe:2.3:a:geotools:geotools:*:*:*:*:*:*:*:*",
"versionEndExcluding": "30.4",
"versionStartIncluding": "30.0",
"vulnerable": true
},
{
"cpe23uri": "cpe:2.3:a:geotools:geotools:*:*:*:*:*:*:*:*",
"versionEndExcluding": "31.2",
"versionStartIncluding": "31.0",
"vulnerable": true
}
],
"operator": "OR"
}
Source: nvd
Type: Configuration
Vendor: geotools
Product: geotools
Operating System: * * *
{
"cpe_match": [
{
"cpe23uri": "cpe:2.3:a:geoserver:geoserver:*:*:*:*:*:*:*:*",
"versionEndExcluding": "2.23.6",
"vulnerable": true
},
{
"cpe23uri": "cpe:2.3:a:geoserver:geoserver:*:*:*:*:*:*:*:*",
"versionEndExcluding": "2.24.4",
"versionStartIncluding": "2.24.0",
"vulnerable": true
},
{
"cpe23uri": "cpe:2.3:a:geoserver:geoserver:*:*:*:*:*:*:*:*",
"versionEndExcluding": "2.25.2",
"versionStartIncluding": "2.25.0",
"vulnerable": true
},
{
"cpe23uri": "cpe:2.3:a:geotools:geotools:*:*:*:*:*:*:*:*",
"versionEndExcluding": "29.6",
"vulnerable": true
},
{
"cpe23uri": "cpe:2.3:a:geotools:geotools:*:*:*:*:*:*:*:*",
"versionEndExcluding": "30.4",
"versionStartIncluding": "30.0",
"vulnerable": true
},
{
"cpe23uri": "cpe:2.3:a:geotools:geotools:*:*:*:*:*:*:*:*",
"versionEndExcluding": "31.2",
"versionStartIncluding": "31.0",
"vulnerable": true
}
],
"operator": "OR"
}
Source: nvd