GHSA-5hx7-j24v-rffj: SSRF
Summary An unauthenticated server-side request forgery vulnerability lets any anonymous user make the GeoNetwork server issue arbitrary outbound HTTP requests. This gives an external attacker a position inside the server's network, making it possible to make internal requests no matter if the response is XML-type or not.
The SLD tooling endpoint POST /api/tools/ogc/sld takes a caller-supplied WMS server URL and performs a server-side HTTP GET to it, with no validation. The fetched body can also be stored and downloaded if the output of the outbound request is in XML format, making the SSRF non-blind.
Impact Any unauthenticated user can make the server send arbitrary HTTP requests to internal hosts it would never expose publicly, and read the responses back if the request responses are XML. This enables internal data disclosure, for example, configuration files that return as XML, authorization bypass, and reconnaissance of the internal network all from an anonymous position.
Resolution
Patched releases:
4.4.12 4.2.17
Resources
https://github.com/geonetwork/core-geonetwork/pull/9343
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
maven/org.geonetwork-opensource:gn-web-appto a version that resolves this vulnerability.Fixed in 4.2.17 - Upgrade
Upgrade
maven/org.geonetwork-opensource:gn-web-appto a version that resolves this vulnerability.Fixed in 4.4.12 - Upgrade
Upgrade
geonetwork/core-geonetworkto a version that resolves this vulnerability.Fixed in 4.2.17 - Upgrade
Upgrade
geonetwork/core-geonetworkto a version that resolves this vulnerability.Fixed in 4.4.12 - Compensating control
Restrict network access from the GeoNetwork server to internal hosts so that outbound HTTP requests to internal addresses (including those reachable via SSRF from POST /api/tools/ogc/sld) are blocked or tightly limited.
Event History
Frequently Asked Questions
Which deployments are exposed to unauthenticated exploitation?
Any GeoNetwork deployment where an anonymous user can reach POST /api/tools/ogc/sld is exposed. No authentication is required, and the endpoint accepts a caller-supplied WMS server URL.
What can an attacker do through the vulnerable endpoint?
An attacker can cause the GeoNetwork server to send arbitrary outbound HTTP GET requests, including to internal hosts not publicly reachable. Responses in XML format can be stored and downloaded, allowing the attacker to read them.
Which releases contain the fix?
The issue is patched in releases 4.4.12 and 4.2.17.
What is the immediate exposure reduction if patching cannot happen yet?
Restrict anonymous access to the affected POST /api/tools/ogc/sld endpoint. This prevents unauthenticated callers from supplying URLs that the server will fetch.