Vulnerability · Published Jul 1, 2024 · Assigned by GitHub_M

CVE-2024-34696 GeoServer's Server Status shows sensitive environmental variables and Java properties

Medium 4.5

In plain English

A medium-severity information exposure in geoserver from geoserver. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.4% (higher than 34% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)4.5Medium
Exploit odds (30 days)0.4%top 65.9% of all CVEs
Exploited in the wildNo reportsCISA SSVC: none
Attack toolingNoneno public tooling known

Official description

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 administrator’s 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.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Mavenorg.geoserver.web:gs-web-app2.24.4GHSA-j59v-vgcr-hxvf
Mavenorg.geoserver.web:gs-web-app2.25.1GHSA-j59v-vgcr-hxvf
Mavenorg.geoserver:gs-main2.24.4GHSA-j59v-vgcr-hxvf
Mavenorg.geoserver:gs-main2.25.1GHSA-j59v-vgcr-hxvf

Affected products (as reported)

VendorProductVersions
geoserver geoserver >= 2.10.0, < 2.24.4>= 2.25.0, < 2.25.1

Weakness: CWE-200 · Vector: CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:N/A:N

References