{"answers":{"affected":"24 open source packages ship an affected version, including org.geoserver.web:gs-web-app, org.geoserver:gs-wfs and org.geoserver:gs-wms. It affects 2 products.","exploited":"Yes. Attackers have exploited CVE-2024-36401 in the wild since at least 15 Jul 2024.","fix":"Upgrade org.geoserver.web:gs-web-app to a fixed version for your release line: 2.22.6, 2.23.6, 2.24.4 or 2.25.2. US federal agencies must fix it by 5 Aug 2024.","what":"CVE-2024-36401 is a critical code injection vulnerability in geoserver, published on 1 Jul 2024. An attacker can exploit it over the internet without logging in, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2024-36401 and fix it if it is affected.\n\nWhat it is: CVE-2024-36401 is a critical code injection vulnerability in geoserver, published on 1 Jul 2024. An attacker can exploit it over the internet without logging in, with no action from the victim.\nExploitation: Yes. Attackers have exploited CVE-2024-36401 in the wild since at least 15 Jul 2024.\n\nAffected packages and fixed versions:\n- org.geoserver.web:gs-web-app (Maven): affected all versions; fixed in 2.22.6\n- org.geoserver.web:gs-web-app (Maven): affected all versions; fixed in 2.22.6\n- org.geoserver.web:gs-web-app (Maven): affected from 2.23.0; fixed in 2.23.6\n- org.geoserver.web:gs-web-app (Maven): affected from 2.23.0; fixed in 2.23.6\n- org.geoserver.web:gs-web-app (Maven): affected from 2.24.0; fixed in 2.24.4\n- org.geoserver.web:gs-web-app (Maven): affected from 2.24.0; fixed in 2.24.4\n- org.geoserver.web:gs-web-app (Maven): affected from 2.25.0; fixed in 2.25.2\n- org.geoserver.web:gs-web-app (Maven): affected from 2.25.0; fixed in 2.25.2\n- org.geoserver:gs-wfs (Maven): affected all versions; fixed in 2.22.6\n- org.geoserver:gs-wfs (Maven): affected all versions; fixed in 2.22.6\n- org.geoserver:gs-wfs (Maven): affected from 2.23.0; fixed in 2.23.6\n- org.geoserver:gs-wfs (Maven): affected from 2.23.0; fixed in 2.23.6\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2024-36401/ (Markdown: https://insights.sbomify.com/CVE-2024-36401/index.md)","id":"CVE-2024-36401","markdown":"https://insights.sbomify.com/CVE-2024-36401/index.md","name":"CVE-2024-36401","record":{"aliases":["GHSA-6jj6-gm7p-fcvv"],"analysis":{"component_type":"server_software","fix_type":"patch","impacts":["code_execution"],"network_reachable":"yes","non_default_config":false,"product_category":"GeoServer","requires_auth":"none","summary":"Unauthenticated attackers can execute arbitrary code on GeoServer via crafted OGC requests due to unsafe XPath evaluation in property names.","user_interaction":"not_required","vuln_class":"code_injection"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[{"product":"geoserver","vendor":"geoserver"},{"product":"geotools","vendor":"geotools"}],"cvss":{"score":9.8,"severity":"critical","source":"cna","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","version":"3.1"},"cwes":[{"id":"CWE-94","name":"Improper Control of Generation of Code"},{"id":"CWE-95","name":"Improper Neutralization of Directives in Dynamically Evaluated Code"}],"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.\n\nThe 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.\n\nVersions 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.","ecosystems":["Maven"],"exploits":{"exploitdb":0,"first_seen":"2024-07-01","github_poc":23,"max_poc_stars":123,"metasploit":1,"nuclei":1,"refs":[{"date":"2025-01-07T08:13:39Z","kind":"github_poc","ref":"https://github.com/whitebear-ch/GeoServerExploit","stars":123,"title":"GeoServer（CVE-2024-36401/CVE-2024-36404）漏洞利用工具"},{"date":"2024-07-30T18:43:40Z","kind":"github_poc","ref":"https://github.com/Chocapikk/CVE-2024-36401","stars":89,"title":"GeoServer Remote Code Execution"},{"date":"2024-07-06T01:10:28Z","kind":"github_poc","ref":"https://github.com/Mr-xn/CVE-2024-36401","stars":56,"title":"Remote Code Execution (RCE) Vulnerability In Evaluating Property Name Expressions with multies ways to exploit"},{"date":"2024-07-17T02:25:21Z","kind":"github_poc","ref":"https://github.com/ahisec/geoserver-","stars":45,"title":"geoserver CVE-2024-36401漏洞利用工具"},{"date":"2025-04-11T04:36:34Z","kind":"github_poc","ref":"https://github.com/bmth666/GeoServer-Tools-CVE-2024-36401","stars":43,"title":"CVE-2024-36401 图形化利用工具，支持各个JDK版本利用以及回显、内存马实现"},{"date":"2024-07-04T13:19:47Z","kind":"github_poc","ref":"https://github.com/bigb0x/CVE-2024-36401","stars":35,"title":"POC for CVE-2024-36401. This POC will attempt to establish a reverse shell from the vlun targets."},{"date":"2024-07-05T03:02:30Z","kind":"github_poc","ref":"https://github.com/Niuwoo/CVE-2024-36401","stars":4,"title":"POC"},{"date":"2024-08-27T15:28:04Z","kind":"github_poc","ref":"https://github.com/justin-p/geoexplorer","stars":4,"title":"Mass scanner for CVE-2024-36401"}],"tier":"exploited"},"has_fix":true,"headline":"OSGeo GeoServer GeoTools Eval Injection","id":"CVE-2024-36401","indexable":true,"kev":{"dateAdded":"2024-07-15","dueDate":"2024-08-05","knownRansomwareCampaignUse":"Unknown","product":"GeoServer","requiredAction":"Apply mitigations per vendor instructions or discontinue use of the product if mitigations are unavailable.","vendorProject":"OSGeo","vulnerabilityName":"OSGeo GeoServer GeoTools Eval Injection Vulnerability"},"kind":"cve","links":{"ecosystem":"Maven","product":null,"products":[],"type":"code_injection","year":"2024"},"n_packages":24,"n_references":5,"next":{"headline":"Unauthenticated writes to the media repository allow planting of problematic content in Matrix Media Repo","id":"CVE-2024-36402"},"packages":[{"ecosystem":"Maven","fixed":["2.22.6"],"introduced":["0"],"last_affected":[],"package":"org.geoserver.web:gs-web-app","purl":null,"source":"GHSA-6jj6-gm7p-fcvv"},{"ecosystem":"Maven","fixed":["2.22.6"],"introduced":["0"],"last_affected":[],"package":"org.geoserver.web:gs-web-app","purl":"pkg:maven/org.geoserver.web/gs-web-app","source":"GHSA-6jj6-gm7p-fcvv"},{"ecosystem":"Maven","fixed":["2.23.6"],"introduced":["2.23.0"],"last_affected":[],"package":"org.geoserver.web:gs-web-app","purl":null,"source":"GHSA-6jj6-gm7p-fcvv"},{"ecosystem":"Maven","fixed":["2.23.6"],"introduced":["2.23.0"],"last_affected":[],"package":"org.geoserver.web:gs-web-app","purl":"pkg:maven/org.geoserver.web/gs-web-app","source":"GHSA-6jj6-gm7p-fcvv"},{"ecosystem":"Maven","fixed":["2.24.4"],"introduced":["2.24.0"],"last_affected":[],"package":"org.geoserver.web:gs-web-app","purl":null,"source":"GHSA-6jj6-gm7p-fcvv"},{"ecosystem":"Maven","fixed":["2.24.4"],"introduced":["2.24.0"],"last_affected":[],"package":"org.geoserver.web:gs-web-app","purl":"pkg:maven/org.geoserver.web/gs-web-app","source":"GHSA-6jj6-gm7p-fcvv"},{"ecosystem":"Maven","fixed":["2.25.2"],"introduced":["2.25.0"],"last_affected":[],"package":"org.geoserver.web:gs-web-app","purl":null,"source":"GHSA-6jj6-gm7p-fcvv"},{"ecosystem":"Maven","fixed":["2.25.2"],"introduced":["2.25.0"],"last_affected":[],"package":"org.geoserver.web:gs-web-app","purl":"pkg:maven/org.geoserver.web/gs-web-app","source":"GHSA-6jj6-gm7p-fcvv"},{"ecosystem":"Maven","fixed":["2.22.6"],"introduced":["0"],"last_affected":[],"package":"org.geoserver:gs-wfs","purl":null,"source":"GHSA-6jj6-gm7p-fcvv"},{"ecosystem":"Maven","fixed":["2.22.6"],"introduced":["0"],"last_affected":[],"package":"org.geoserver:gs-wfs","purl":"pkg:maven/org.geoserver/gs-wfs","source":"GHSA-6jj6-gm7p-fcvv"},{"ecosystem":"Maven","fixed":["2.23.6"],"introduced":["2.23.0"],"last_affected":[],"package":"org.geoserver:gs-wfs","purl":null,"source":"GHSA-6jj6-gm7p-fcvv"},{"ecosystem":"Maven","fixed":["2.23.6"],"introduced":["2.23.0"],"last_affected":[],"package":"org.geoserver:gs-wfs","purl":"pkg:maven/org.geoserver/gs-wfs","source":"GHSA-6jj6-gm7p-fcvv"},{"ecosystem":"Maven","fixed":["2.24.4"],"introduced":["2.24.0"],"last_affected":[],"package":"org.geoserver:gs-wfs","purl":null,"source":"GHSA-6jj6-gm7p-fcvv"},{"ecosystem":"Maven","fixed":["2.24.4"],"introduced":["2.24.0"],"last_affected":[],"package":"org.geoserver:gs-wfs","purl":"pkg:maven/org.geoserver/gs-wfs","source":"GHSA-6jj6-gm7p-fcvv"},{"ecosystem":"Maven","fixed":["2.25.2"],"introduced":["2.25.0"],"last_affected":[],"package":"org.geoserver:gs-wfs","purl":null,"source":"GHSA-6jj6-gm7p-fcvv"},{"ecosystem":"Maven","fixed":["2.25.2"],"introduced":["2.25.0"],"last_affected":[],"package":"org.geoserver:gs-wfs","purl":"pkg:maven/org.geoserver/gs-wfs","source":"GHSA-6jj6-gm7p-fcvv"},{"ecosystem":"Maven","fixed":["2.22.6"],"introduced":["0"],"last_affected":[],"package":"org.geoserver:gs-wms","purl":null,"source":"GHSA-6jj6-gm7p-fcvv"},{"ecosystem":"Maven","fixed":["2.22.6"],"introduced":["0"],"last_affected":[],"package":"org.geoserver:gs-wms","purl":"pkg:maven/org.geoserver/gs-wms","source":"GHSA-6jj6-gm7p-fcvv"},{"ecosystem":"Maven","fixed":["2.23.6"],"introduced":["2.23.0"],"last_affected":[],"package":"org.geoserver:gs-wms","purl":null,"source":"GHSA-6jj6-gm7p-fcvv"},{"ecosystem":"Maven","fixed":["2.23.6"],"introduced":["2.23.0"],"last_affected":[],"package":"org.geoserver:gs-wms","purl":"pkg:maven/org.geoserver/gs-wms","source":"GHSA-6jj6-gm7p-fcvv"},{"ecosystem":"Maven","fixed":["2.24.4"],"introduced":["2.24.0"],"last_affected":[],"package":"org.geoserver:gs-wms","purl":null,"source":"GHSA-6jj6-gm7p-fcvv"},{"ecosystem":"Maven","fixed":["2.24.4"],"introduced":["2.24.0"],"last_affected":[],"package":"org.geoserver:gs-wms","purl":"pkg:maven/org.geoserver/gs-wms","source":"GHSA-6jj6-gm7p-fcvv"},{"ecosystem":"Maven","fixed":["2.25.2"],"introduced":["2.25.0"],"last_affected":[],"package":"org.geoserver:gs-wms","purl":null,"source":"GHSA-6jj6-gm7p-fcvv"},{"ecosystem":"Maven","fixed":["2.25.2"],"introduced":["2.25.0"],"last_affected":[],"package":"org.geoserver:gs-wms","purl":"pkg:maven/org.geoserver/gs-wms","source":"GHSA-6jj6-gm7p-fcvv"}],"prev":{"headline":"nano-id is unable to generate the correct character set","id":"CVE-2024-36400"},"products":["geoserver"],"published":"2024-07-01","related":[{"cvss_score":8.2,"headline":"OSGeo GeoServer Improper Restriction of XML External Entity Reference","id":"CVE-2025-58360","kev_date_added":"2025-12-11","published":"2025-11-25"},{"cvss_score":9.8,"headline":"GeoServer RCE due to improper control of generation of code in jai-ext`Jiffle` map algebra language","id":"CVE-2023-35042","kev_date_added":null,"published":"2023-06-12"},{"cvss_score":7.5,"headline":"Classpath resource disclosure in GWC Web Resource API on Windows / Tomcat","id":"CVE-2024-24749","kev_date_added":null,"published":"2024-07-01"},{"cvss_score":7.2,"headline":"GeoServer log file path traversal vulnerability","id":"CVE-2023-41877","kev_date_added":null,"published":"2024-03-20"},{"cvss_score":7.2,"headline":"GeoServer arbitrary file upload vulnerability in REST Coverage Store API","id":"CVE-2023-51444","kev_date_added":null,"published":"2024-03-20"},{"cvss_score":6.1,"headline":"GeoServer Reflected Cross-Site Scripting (XSS) vulnerability in WMS GetFeatureInfo HTML format","id":"CVE-2025-21621","kev_date_added":null,"published":"2025-11-25"}],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"US public information, NVD API terms","name":"NVD"},{"class":"open","licence":"CC0 1.0","name":"CISA KEV"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"},{"class":"open","licence":"CC0","name":"PoC-in-GitHub"}],"ssvc":{"automatable":"yes","exploitation":"active","technical_impact":"total"},"state":"PUBLISHED","updated":"2025-10-21","vendors":["geoserver"]},"summary":"Unauthenticated attackers can execute arbitrary code on GeoServer via crafted OGC requests due to unsafe XPath evaluation in property names.","url":"https://insights.sbomify.com/CVE-2024-36401/"}