Actively exploited vulnerability

OSGeo GeoServer: code execution flaw under attack

CVE-2024-36401 · OSGeo GeoServer GeoTools Eval Injection Vulnerability

Business software9.8 critical

What is affected

OSGeo GeoServer is mostly run by companies, schools and public bodies, not on home computers. You are unlikely to have it yourself, but organisations that hold your data may. Breaches that start with flaws like this one are how personal data ends up leaked.

OSGeo GeoServer GeoTools contains an improper neutralization of directives in dynamically evaluated code vulnerability due to unsafely evaluating property names as XPath expressions. This allows unauthenticated attackers to conduct remote code execution via specially crafted input.

CISA's description

What an attacker can do

This is a code execution flaw. It lets an attacker run their own commands or programs on the affected system. In practice that usually means taking it over: installing malware, stealing data or using it to reach other devices on the same network.

How it is reached
Over the internet or network
Access the attacker needs
No account needed
Does the victim have to do something?
No, works without the victim doing anything

What to do

  1. At home: nothing to install. Keep your own devices updated and use a different password for every service, so that a breach at one organisation does not open your other accounts.
  2. If you administer OSGeo GeoServer at work: apply the vendor's fix or mitigation now and review logs for signs of compromise, because the flaw was being exploited before it was listed.
  3. If the product is past its support date and no fix exists, take it off the internet or retire it.

Apply mitigations per vendor instructions or discontinue use of the product if mitigations are unavailable.

Action required by CISA for US federal agencies

Vendor advisories and fixes

How urgent is it

CISA added this vulnerability to its Known Exploited Vulnerabilities catalogue on July 15, 2024, which means there is reliable evidence of attacks in the wild. US federal agencies must fix it by August 5, 2024, a deadline that has already passed. That deadline does not bind anyone else, but it shows how seriously the agency rates it.

The EPSS model estimates a 100% probability that this flaw will be exploited somewhere in the next 30 days. That is higher than 100.0% of all scored vulnerabilities.

Its CVSS severity score is 9.8 out of 10 (critical), as recorded in the US National Vulnerability Database.

Technical description

GeoServer is an open source server that allows users to share and edit geospatial data. Prior to versions 2.22.6, 2.23.6, 2.24.4, and 2.25.2, multiple OGC request parameters allow Remote Code Execution (RCE) by unauthenticated users through specially crafted input against a default GeoServer installation due to unsafely evaluating property names as XPath expressions. The GeoTools library API that GeoServer calls evaluates property/attribute names for feature types in a way that unsafely passes them to the commons-jxpath library which can execute arbitrary code when evaluating XPath expressions. This XPath evaluation is intended to be used only by complex feature types (i.e., Application Schema data stores) but is incorrectly being applied to simple feature types as well which makes this vulnerability apply to **ALL** GeoServer instances. No public PoC is provided but this vulnerability has been confirmed to be exploitable through WFS GetFeature, WFS GetPropertyValue, WMS GetMap, WMS GetFeatureInfo, WMS GetLegendGraphic and WPS Execute requests. This vulnerability can lead to executing arbitrary code. Versions 2.22.6, 2.23.6, 2.24.4, and 2.25.2 contain a patch for the issue. A workaround exists by removing the `gt-complex-x.y.jar` file from the GeoServer where `x.y` is the GeoTools version (e.g., `gt-complex-31.1.jar` if running GeoServer 2.25.1). This will remove the vulnerable code from GeoServer but may break some GeoServer functionality or prevent GeoServer from deploying if the gt-complex module is needed.

NIST National Vulnerability Database
5,442 members already hereReading, writing, commenting and voting. 0 verified · 167 joined this year