cve-2023-51444
Vulnerability from cvelistv5
Published
2024-03-20 15:07
Modified
2024-08-21 14:35
Severity ?
EPSS score ?
Summary
GeoServer is an open source software server written in Java that allows users to share and edit geospatial data. An arbitrary file upload vulnerability exists in versions prior to 2.23.4 and 2.24.1 that enables an authenticated administrator with permissions to modify coverage stores through the REST Coverage Store API to upload arbitrary file contents to arbitrary file locations which can lead to remote code execution. Coverage stores that are configured using relative paths use a GeoServer Resource implementation that has validation to prevent path traversal but coverage stores that are configured using absolute paths use a different Resource implementation that does not prevent path traversal. This vulnerability can lead to executing arbitrary code. An administrator with limited privileges could also potentially exploit this to overwrite GeoServer security files and obtain full administrator privileges. Versions 2.23.4 and 2.24.1 contain a fix for this issue.
References
{ "containers": { "adp": [ { "providerMetadata": { "dateUpdated": "2024-08-02T22:32:10.015Z", "orgId": "af854a3a-2127-422b-91ae-364da2661108", "shortName": "CVE" }, "references": [ { "name": "https://github.com/geoserver/geoserver/security/advisories/GHSA-9v5q-2gwq-q9hq", "tags": [ "x_refsource_CONFIRM", "x_transferred" ], "url": "https://github.com/geoserver/geoserver/security/advisories/GHSA-9v5q-2gwq-q9hq" }, { "name": "https://github.com/geoserver/geoserver/pull/7222", "tags": [ "x_refsource_MISC", "x_transferred" ], "url": "https://github.com/geoserver/geoserver/pull/7222" }, { "name": "https://github.com/geoserver/geoserver/commit/ca683170c669718cb6ad4c79e01b0451065e13b8", "tags": [ "x_refsource_MISC", "x_transferred" ], "url": "https://github.com/geoserver/geoserver/commit/ca683170c669718cb6ad4c79e01b0451065e13b8" }, { "name": "https://github.com/geoserver/geoserver/commit/fe235b3bb1d7f05751a4a2ef5390c36f5c9e78ae", "tags": [ "x_refsource_MISC", "x_transferred" ], "url": "https://github.com/geoserver/geoserver/commit/fe235b3bb1d7f05751a4a2ef5390c36f5c9e78ae" }, { "name": "https://osgeo-org.atlassian.net/browse/GEOS-11176", "tags": [ "x_refsource_MISC", "x_transferred" ], "url": "https://osgeo-org.atlassian.net/browse/GEOS-11176" } ], "title": "CVE Program Container" }, { "affected": [ { "cpes": [ "cpe:2.3:a:geoserver:geoserver:*:*:*:*:*:*:*:*" ], "defaultStatus": "unknown", "product": "geoserver", "vendor": "geoserver", "versions": [ { "lessThan": "2.23.4", "status": "affected", "version": "0", "versionType": "custom" } ] }, { "cpes": [ "cpe:2.3:a:geoserver:geoserver:2.24.0:*:*:*:*:*:*:*" ], "defaultStatus": "unknown", "product": "geoserver", "vendor": "geoserver", "versions": [ { "status": "affected", "version": "2.24.0" } ] } ], "metrics": [ { "other": { "content": { "id": "CVE-2023-51444", "options": [ { "Exploitation": "poc" }, { "Automatable": "no" }, { "Technical Impact": "total" } ], "role": "CISA Coordinator", "timestamp": "2024-08-21T14:00:47.513580Z", "version": "2.0.3" }, "type": "ssvc" } } ], "providerMetadata": { "dateUpdated": "2024-08-21T14:35:24.029Z", "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "shortName": "CISA-ADP" }, "title": "CISA ADP Vulnrichment" } ], "cna": { "affected": [ { "product": "geoserver", "vendor": "geoserver", "versions": [ { "status": "affected", "version": "\u003c 2.23.4" }, { "status": "affected", "version": "= 2.24.0" } ] } ], "descriptions": [ { "lang": "en", "value": "GeoServer is an open source software server written in Java that allows users to share and edit geospatial data. An arbitrary file upload vulnerability exists in versions prior to 2.23.4 and 2.24.1 that enables an authenticated administrator with permissions to modify coverage stores through the REST Coverage Store API to upload arbitrary file contents to arbitrary file locations which can lead to remote code execution. Coverage stores that are configured using relative paths use a GeoServer Resource implementation that has validation to prevent path traversal but coverage stores that are configured using absolute paths use a different Resource implementation that does not prevent path traversal. This vulnerability can lead to executing arbitrary code. An administrator with limited privileges could also potentially exploit this to overwrite GeoServer security files and obtain full administrator privileges. Versions 2.23.4 and 2.24.1 contain a fix for this issue." } ], "metrics": [ { "cvssV3_1": { "attackComplexity": "LOW", "attackVector": "NETWORK", "availabilityImpact": "HIGH", "baseScore": 7.2, "baseSeverity": "HIGH", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "privilegesRequired": "HIGH", "scope": "UNCHANGED", "userInteraction": "NONE", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H", "version": "3.1" } } ], "problemTypes": [ { "descriptions": [ { "cweId": "CWE-20", "description": "CWE-20: Improper Input Validation", "lang": "en", "type": "CWE" } ] }, { "descriptions": [ { "cweId": "CWE-434", "description": "CWE-434: Unrestricted Upload of File with Dangerous Type", "lang": "en", "type": "CWE" } ] } ], "providerMetadata": { "dateUpdated": "2024-03-20T15:07:29.869Z", "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa", "shortName": "GitHub_M" }, "references": [ { "name": "https://github.com/geoserver/geoserver/security/advisories/GHSA-9v5q-2gwq-q9hq", "tags": [ "x_refsource_CONFIRM" ], "url": "https://github.com/geoserver/geoserver/security/advisories/GHSA-9v5q-2gwq-q9hq" }, { "name": "https://github.com/geoserver/geoserver/pull/7222", "tags": [ "x_refsource_MISC" ], "url": "https://github.com/geoserver/geoserver/pull/7222" }, { "name": "https://github.com/geoserver/geoserver/commit/ca683170c669718cb6ad4c79e01b0451065e13b8", "tags": [ "x_refsource_MISC" ], "url": "https://github.com/geoserver/geoserver/commit/ca683170c669718cb6ad4c79e01b0451065e13b8" }, { "name": "https://github.com/geoserver/geoserver/commit/fe235b3bb1d7f05751a4a2ef5390c36f5c9e78ae", "tags": [ "x_refsource_MISC" ], "url": "https://github.com/geoserver/geoserver/commit/fe235b3bb1d7f05751a4a2ef5390c36f5c9e78ae" }, { "name": "https://osgeo-org.atlassian.net/browse/GEOS-11176", "tags": [ "x_refsource_MISC" ], "url": "https://osgeo-org.atlassian.net/browse/GEOS-11176" } ], "source": { "advisory": "GHSA-9v5q-2gwq-q9hq", "discovery": "UNKNOWN" }, "title": "GeoServer arbitrary file upload vulnerability in REST Coverage Store API" } }, "cveMetadata": { "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa", "assignerShortName": "GitHub_M", "cveId": "CVE-2023-51444", "datePublished": "2024-03-20T15:07:29.869Z", "dateReserved": "2023-12-19T13:52:41.787Z", "dateUpdated": "2024-08-21T14:35:24.029Z", "state": "PUBLISHED" }, "dataType": "CVE_RECORD", "dataVersion": "5.1", "vulnerability-lookup:meta": { "nvd": "{\"cve\":{\"id\":\"CVE-2023-51444\",\"sourceIdentifier\":\"security-advisories@github.com\",\"published\":\"2024-03-20T15:15:07.700\",\"lastModified\":\"2024-12-18T21:58:24.790\",\"vulnStatus\":\"Analyzed\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"GeoServer is an open source software server written in Java that allows users to share and edit geospatial data. An arbitrary file upload vulnerability exists in versions prior to 2.23.4 and 2.24.1 that enables an authenticated administrator with permissions to modify coverage stores through the REST Coverage Store API to upload arbitrary file contents to arbitrary file locations which can lead to remote code execution. Coverage stores that are configured using relative paths use a GeoServer Resource implementation that has validation to prevent path traversal but coverage stores that are configured using absolute paths use a different Resource implementation that does not prevent path traversal. This vulnerability can lead to executing arbitrary code. An administrator with limited privileges could also potentially exploit this to overwrite GeoServer security files and obtain full administrator privileges. Versions 2.23.4 and 2.24.1 contain a fix for this issue.\"},{\"lang\":\"es\",\"value\":\"GeoServer es un servidor de software de c\u00f3digo abierto escrito en Java que permite a los usuarios compartir y editar datos geoespaciales. Existe una vulnerabilidad de carga de archivos arbitrarios en versiones anteriores a 2.23.4 y 2.24.1 que permite a un administrador autenticado con permisos para modificar almacenes de cobertura a trav\u00e9s de la API de almac\u00e9n de cobertura REST cargar contenidos de archivos arbitrarios en ubicaciones de archivos arbitrarias, lo que puede provocar la ejecuci\u00f3n remota de c\u00f3digo. Los almacenes de cobertura que se configuran mediante rutas relativas utilizan una implementaci\u00f3n de recursos de GeoServer que tiene validaci\u00f3n para evitar el path traversal, pero los almacenes de cobertura que se configuran mediante rutas absolutas utilizan una implementaci\u00f3n de recursos diferente que no evita el path traversal. Esta vulnerabilidad puede provocar la ejecuci\u00f3n de c\u00f3digo arbitrario. Un administrador con privilegios limitados tambi\u00e9n podr\u00eda aprovechar esto para sobrescribir los archivos de seguridad de GeoServer y obtener privilegios de administrador completos. Las versiones 2.23.4 y 2.24.1 contienen una soluci\u00f3n para este problema.\"}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"security-advisories@github.com\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":7.2,\"baseSeverity\":\"HIGH\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"HIGH\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.2,\"impactScore\":5.9},{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":7.2,\"baseSeverity\":\"HIGH\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"HIGH\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.2,\"impactScore\":5.9}]},\"weaknesses\":[{\"source\":\"security-advisories@github.com\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-20\"},{\"lang\":\"en\",\"value\":\"CWE-434\"}]},{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-434\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:geoserver:geoserver:*:*:*:*:*:*:*:*\",\"versionEndExcluding\":\"2.23.4\",\"matchCriteriaId\":\"73E1A204-C95D-4B7B-8C8A-E5639834BB97\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:a:geoserver:geoserver:2.24.0:*:*:*:*:*:*:*\",\"matchCriteriaId\":\"DE2AC1E3-918D-4078-9306-52512A7BE8A7\"}]}]}],\"references\":[{\"url\":\"https://github.com/geoserver/geoserver/commit/ca683170c669718cb6ad4c79e01b0451065e13b8\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Patch\"]},{\"url\":\"https://github.com/geoserver/geoserver/commit/fe235b3bb1d7f05751a4a2ef5390c36f5c9e78ae\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Patch\"]},{\"url\":\"https://github.com/geoserver/geoserver/pull/7222\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Issue Tracking\"]},{\"url\":\"https://github.com/geoserver/geoserver/security/advisories/GHSA-9v5q-2gwq-q9hq\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Exploit\",\"Vendor Advisory\"]},{\"url\":\"https://osgeo-org.atlassian.net/browse/GEOS-11176\",\"source\":\"security-advisories@github.com\",\"tags\":[\"Issue Tracking\"]},{\"url\":\"https://github.com/geoserver/geoserver/commit/ca683170c669718cb6ad4c79e01b0451065e13b8\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://github.com/geoserver/geoserver/commit/fe235b3bb1d7f05751a4a2ef5390c36f5c9e78ae\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Patch\"]},{\"url\":\"https://github.com/geoserver/geoserver/pull/7222\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Issue Tracking\"]},{\"url\":\"https://github.com/geoserver/geoserver/security/advisories/GHSA-9v5q-2gwq-q9hq\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Exploit\",\"Vendor Advisory\"]},{\"url\":\"https://osgeo-org.atlassian.net/browse/GEOS-11176\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\",\"tags\":[\"Issue Tracking\"]}]}}" } }
Loading…
Loading…
Sightings
Author | Source | Type | Date |
---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.