GeoServer CVE-2025-58175
MEDIUMSeverity by source
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:L
AC:H reflects the specific proxy URL misconfiguration prerequisite; PR:N confirmed by unauthenticated exploitation; no integrity impact as SSRF is read-only.
Primary rating from GitHub Advisory.
CVSS VectorGitHub Advisory
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:L
Lifecycle Timeline
2DescriptionGitHub Advisory
Summary
A GeoServer that uses ENTITY_RESOLUTION_ALLOWLIST may allow attacker to perform unauthenticated Server-Side Request Forgery (SSRF).
Details
This vulnerability requires that GeoServer is set up to use a proxy base URL and the ENTITY_RESOLUTION_ALLOWLIST (default since 2.25.0):
Impact
This vulnerability allows an attacker to cause GeoServer to make requests to an unintended location.
Workaround
GeoServer installations are only affected by this vulnerability if they use a proxy base URL that does not contain a URL path or end with a slash (e.g., https://somesite.org instead of https://somesite.org/ or https://somesite.org/geoserver). If the proxy base URL does not contain a path, adding a slash to the end of the URL will mitigate this vulnerability.
Resources
https://osgeo-org.atlassian.net/browse/GEOS-11867 https://github.com/geoserver/geoserver/pull/8622
Credits:
- Le Mau Anh Phong at Verichains Cyber Force
AnalysisAI
Server-Side Request Forgery in GeoServer's XML entity resolution allows unauthenticated remote attackers to cause the server to issue HTTP requests to unintended internal or external endpoints. Affected are GeoServer deployments running versions up to 2.26.3 and 2.27.0-2.27.2 that have both a proxy base URL configured without a trailing slash and ENTITY_RESOLUTION_ALLOWLIST active - the default since 2.25.0. No public exploit or CISA KEV listing exists at time of analysis, but the CVSS vector scores high confidentiality impact, making this a meaningful risk for deployments where GeoServer has network adjacency to internal services or cloud metadata endpoints.
Technical ContextAI
GeoServer's AllowListEntityResolver (org.geoserver.util.AllowListEntityResolver in gs-main) controls which external XML entities can be resolved during document parsing. Since version 2.25.0, ENTITY_RESOLUTION_ALLOWLIST has been the default mechanism restricting entity URIs. The resolver performs a prefix match between an incoming entity URI and the configured proxy base URL to determine whether resolution is permitted. CWE-20 (Improper Input Validation) identifies the root cause: when the proxy base URL lacks a trailing slash or path segment (e.g., https://somesite.org), a crafted URI such as https://somesite.org.attacker.com/ satisfies the startsWith() check, bypassing the allowlist. The fix in PR #8622 replaces the naive lowercase startsWith check with a proper urlStartsWith method that enforces URL boundary semantics, adds URI normalization to block percent-encoded bypass sequences (CWE-20 mitigations), and introduces a new ENTITY_RESOLUTION_UNRESTRICTED_INTERNAL property for internal jar/vfs schema handling. Affected Maven packages are pkg:maven/org.geoserver:gs-main and pkg:maven/org.geoserver.web:gs-web-app.
RemediationAI
The vendor-released patch is available in GeoServer 2.26.4 (for 2.26.x branch users) and 2.27.3 (for 2.27.x branch users), as confirmed by the GHSA advisory and Maven package metadata. Operators should upgrade to the appropriate patched release via the GeoServer download page or by updating the Maven dependency. If an immediate upgrade is not feasible, the vendor has documented a zero-cost workaround: append a trailing slash or a path segment to the proxy base URL in GeoServer's global settings (e.g., change https://somesite.org to https://somesite.org/ or https://somesite.org/geoserver). This configuration change has no functional side effects and eliminates the prefix-boundary bypass. Installations that have not configured a proxy base URL are not affected by this vulnerability. The patch PR is available at https://github.com/geoserver/geoserver/pull/8622 and the advisory at https://github.com/geoserver/geoserver/security/advisories/GHSA-x4r9-gmw3-hxww.
More from same product – last 7 days
Two-factor authentication bypass in syracom AG Secure Login (2FA) plugin 3.4.0.x for Atlassian Jira, Confluence, and Bit
Remote code execution in GeoServer (versions prior to 2.27.0) with the DB2 extension installed allows authenticated admi
Arbitrary file write in GeoServer's Master Password Dump web page allows an authenticated administrator to write attacke
Share
External POC / Exploit Code
Leaving vuln.today
GHSA-x4r9-gmw3-hxww