This vulnerability requires GeoServer Administrator with access to the admin console to misconfigured the Global Settings for log file location to an arbitrary location.
This can be used to read files via the admin console GeoServer Logs page. It is also possible to leverage RCE or cause denial of service by overwriting key GeoServer files.
As this issue requires GeoServer administrators access, often representing a trusted party, the vulnerability has not yet attracted a volunteer or resources.
Interested parties are welcome to contact geoserver-security@lists.osgeo.org for recommendations on developing a fix.
A system administrator responsible for running GeoServer can define the GEOSERVER_LOG_FILE
parameter, preventing the global setting provided from being used.
The GEOSERVER_LOG_LOCATION
parameter can be set as system property, environment variable, or servlet context parameter.
Environmental variable:
export GEOSERVER_LOG_LOCATION=/var/opt/geoserver/logs
System property:
-DGEOSERVER_LOG_LOCATION=/var/opt/geoserver/logs
Web application WEB-INF/web.xml
:
<context-param>
<param-name> GEOSERVER_LOG_LOCATION </param-name>
<param-value>/var/opt/geoserver/logs</param-value>
</context-param>
Tomcat conf/Catalina/localhost/geoserver.xml:
<Context>
<Parameter name="GEOSERVER_LOG_LOCATION"
value="/var/opt/geoserver/logs" override="false"/>
</Context>
{ "nvd_published_at": "2024-03-20T15:15:07Z", "cwe_ids": [ "CWE-22" ], "severity": "HIGH", "github_reviewed": true, "github_reviewed_at": "2024-03-20T14:45:21Z" }