The GeoServer security mechanism can perform an unchecked JNDI lookup, which in turn can be used to perform class deserialization and result in arbitrary code execution. The same can happen while configuring data stores with data sources located in JNDI, or while setting up the disk quota mechanism. In order to perform any of the above changes, the attack needs to have obtained admin rights and use either the GeoServer GUI, or its REST API.
The lookups are going to be restricted in GeoServer 2.21.0, 2.20.4, 2.19.6.
Protection can be achieved by making the GUI (geoserver/web
), the REST configuration (geoserver/rest
) and the embedded GeoWebCache configuration (geoserver/gwc/rest
) unreachable from remote hosts, in addition to protecting access to the file system where the GeoServer configuration is stored.
{ "nvd_published_at": "2022-04-13T22:15:00Z", "cwe_ids": [ "CWE-20", "CWE-917" ], "severity": "HIGH", "github_reviewed": true, "github_reviewed_at": "2022-04-22T20:39:10Z" }