GeoServer <2.25.0 Server Status API Exposes Env Vars & Secrets
CVE-2024-34696 Published on July 1, 2024
GeoServer's Server Status shows sensitive environmental variables and Java properties
GeoServer is an open source server that allows users to share and edit geospatial data. Starting in version 2.10.0 and prior to versions 2.24.4 and 2.25.1, GeoServer's Server Status page and REST API lists all environment variables and Java properties to any GeoServer user with administrative rights as part of those modules' status message. These variables/properties can also contain sensitive information, such as database passwords or API keys/tokens. Additionally, many community-developed GeoServer container images `export` other credentials from their start-up scripts as environment variables to the GeoServer (`java`) process. The precise scope of the issue depends on which container image is used and how it is configured.
The `about status` API endpoint which powers the Server Status page is only available to administrators.Depending on the operating environment, administrators might have legitimate access to credentials in other ways, but this issue defeats more sophisticated controls (like break-glass access to secrets or role accounts).By default, GeoServer only allows same-origin authenticated API access. This limits the scope for a third-party attacker to use an administrators credentials to gain access to credentials. The researchers who found the vulnerability were unable to determine any other conditions under which the GeoServer REST API may be available more broadly.
Users should update container images to use GeoServer 2.24.4 or 2.25.1 to get the bug fix. As a workaround, leave environment variables and Java system properties hidden by default. Those who provide the option to re-enable it should communicate the impact and risks so that users can make an informed choice.
Vulnerability Analysis
CVE-2024-34696 is exploitable with network access, requires user interaction and user privileges. This vulnerability is considered to have a low attack complexity. The potential impact of an exploit of this vulnerability is considered to have a high impact on confidentiality, with no impact on integrity and availability.
Weakness Type
What is an Information Disclosure Vulnerability?
The product exposes sensitive information to an actor that is not explicitly authorized to have access to that information.
CVE-2024-34696 has been classified to as an Information Disclosure vulnerability or weakness.
Products Associated with CVE-2024-34696
Want to know whenever a new CVE is published for Geoserver? stack.watch will email you.
Affected Versions
geoserver:- Version >= 2.10.0, < 2.24.4 is affected.
- Version >= 2.25.0, < 2.25.1 is affected.
Vulnerable Packages
The following package name and versions may be associated with CVE-2024-34696
| Package Manager | Vulnerable Package | Versions | Fixed In |
|---|---|---|---|
| maven | org.geoserver.web:gs-web-app | >= 2.10.0, < 2.24.4 | 2.24.4 |
| maven | org.geoserver.web:gs-web-app | >= 2.25.0, < 2.25.1 | 2.25.1 |
| maven | org.geoserver:gs-main | >= 2.10.0, < 2.24.4 | 2.24.4 |
| maven | org.geoserver:gs-main | >= 2.25.0, < 2.25.1 | 2.25.1 |
Exploit Probability
EPSS (Exploit Prediction Scoring System) scores estimate the probability that a vulnerability will be exploited in the wild within the next 30 days. The percentile shows you how this score compares to all other vulnerabilities.