Impact
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.
Patches
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.
Workarounds
A system administrator responsible for running GeoServer can define the GEOSERVERLOGFILE parameter, preventing the global setting provided from being used.
The GEOSERVERLOGLOCATION parameter can be set as system property, environment variable, or servlet context parameter.
Environmental variable: bash export GEOSERVERLOGLOCATION=/var/opt/geoserver/logs
System property: bash -DGEOSERVERLOGLOCATION=/var/opt/geoserver/logs
Web application WEB-INF/web.xml: xml <context-param> <param-name> GEOSERVERLOGLOCATION </param-name> <param-value>/var/opt/geoserver/logs</param-value> </context-param>
Tomcat conf/Catalina/localhost/geoserver.xml: xml <Context> <Parameter name="GEOSERVERLOGLOCATION" value="/var/opt/geoserver/logs" override="false"/> </Context>
References
Log location (User Manual)