QID 730791
Date Published: 2023-05-23
QID 730791: GeoWebCache Arbitrary Code Execution Vulnerability (GHSA-4v22-v8jp-438r)
GeoWebCache is a tile caching server implemented in Java.
The GeoWebCache disk quota mechanism can perform an unchecked JNDI lookup, which in turn can be used to perform class deserialization and result in arbitrary code execution. GeoServer a user interface is provided to perform the same, that can be accessed remotely, and requires admin-level login to be used. These lookup are unrestricted in scope and can lead to code execution.
Affected Versions:
GeoWebCache versions prior to 1.19.3
GeoWebCache versions 1.20.0 prior to 1.20.2
QID Detection Logic (Unauthenticated): This QID checks for vulnerable GeoWebCache versions on GeoServer by sending GET request to "/geoserver/web/wicket/bookmarkable/org.geoserver.web.AboutGeoServerPage"
Successful exploitation of this vulnerability may allow an attacker to perform class deserialization and result in arbitrary code execution.
Workaround:
For stand-alone GeoWebCache, the attacker must not be able to access the file system where the GWC configuration is hosted, as well as not allowing access to the REST API at geowebcache/rest.
For GeoServer instead, protection can be achieved by making the GUI (geoserver/web) and the REST configuration (geoserver/rest) unreachable from remote hosts, in addition to protecting access to the file system where the GeoServer configuration is stored and closing the embedded GeoWebCache REST API at geoserver/gwc/rest.
- GHSA-4v22-v8jp-438r -
github.com/GeoWebCache/geowebcache/security/advisories/GHSA-4v22-v8jp-438r
CVEs related to QID 730791
| Advisory ID | Software | Component | Link |
|---|---|---|---|
| https://github.com/GeoWebCache/geowebcache/security/advisories/GHSA-4v22-v8jp-438r |
|