Skip to main content

GeoServer CVE-2025-52465

| EUVDEUVD-2025-210277 HIGH
External Control of File Name or Path (CWE-73)
2026-06-12 https://github.com/geoserver/geoserver GHSA-7qmg-grcp-qf25
7.2
CVSS 3.1 · Vendor: https://github.com/geoserver/geoserver
Share

Severity by source

Vendor (https://github.com/geoserver/geoserver) PRIMARY
7.2 HIGH
AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
7.2 HIGH

Network-reachable admin UI (AV:N), deterministic write primitive (AC:L), requires GeoServer security-admin role (PR:H), no user interaction, and JSP-drop yields full host CIA impact.

3.1 AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (https://github.com/geoserver/geoserver).

CVSS VectorVendor: https://github.com/geoserver/geoserver

CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
Attack Vector
Network
Attack Complexity
Low
Privileges Required
High
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

3
Source Code Evidence Fetched
Jun 12, 2026 - 18:50 vuln.today
Analysis Generated
Jun 12, 2026 - 18:50 vuln.today
CVE Published
Jun 12, 2026 - 18:23 github-advisory
HIGH 7.2

DescriptionCVE.org

Summary

A vulnerability exists that allows an authenticated administrator with access to GeoServer's security system to pass arbitrary file names to the Master Password Dump web page and create files containing the master password in plaintext. The provided file name must be an absolute path to the target file, the target file can not already exist and all parent directories must already exist.

Details

When dumping the master password, GeoServer will use the provided file name with minimal validation as long as it is a java.io.File path. The only limitation is that the fix for a previous, unrelated vulnerability prevents relative path traversal here but absolute paths can be used to access arbitrary files. GeoServer does not enforce a maximum password length by default which allows an administrator to place malicious code into their password which could then be dumped into a JSP file.

Impact

Remote Code Execution (High severity)

This vulnerability can lead to executing arbitrary code if GeoServer is deployed in an environment where an attacker can dynamically deploy and execute a JSP file. This is possible if the geoserver.war file is simply placed into the webapps directory of a default Tomcat installation.

NTLM Hash Disclosure (Moderate severity)

If GeoServer is deployed in a Windows operating system and the GeoServer administrator does not already have access to the Windows account running the GeoServer process, it may be possible for the administrator to make GeoServer trigger an outbound NTLM request to a remote, attacker-controlled server and gain access to the NTLM hash or user password for use in future attacks.

Denial of Service (Low severity)

This vulnerability allows writing a file to any location where the GeoServer process has write permissions which could still potentially cause some kind of denial of service.

Mitigation

GeoServer installations where the web interface is either disabled or completely removed are not affected since the vulnerability exists in one of the web pages.

Resources

https://osgeo-org.atlassian.net/browse/GEOS-11852 https://github.com/geoserver/geoserver/pull/8584

AnalysisAI

Arbitrary file write in GeoServer's Master Password Dump web page allows an authenticated administrator to write attacker-controlled content to any absolute filesystem path the GeoServer process can write to, including JSP files in a Tomcat webapps directory. Because GeoServer enforces no maximum master password length, an admin can embed malicious JSP code into the master password and dump it to an executable location, escalating to remote code execution on the host. No public exploit identified at time of analysis and the issue is not in CISA KEV.

Technical ContextAI

GeoServer is an open-source Java/Servlet GIS server (Maven artifacts org.geoserver.web:gs-web-app and gs-web-sec-core) typically deployed as a WAR file inside Apache Tomcat. The Master Password Dump page in the security web UI accepts a user-supplied filename and writes the cleartext master password to it using java.io.File with only minimal validation; a prior path-traversal fix blocks relative traversal but not absolute paths, which is the root cause class captured by CWE-73 (External Control of File Name or Path). Because the master password field has no length cap, the 'password' value itself becomes attacker-controlled file content, turning a write-primitive into JSP code execution under standard Tomcat auto-deployment.

RemediationAI

Vendor-released patch: upgrade to GeoServer 2.27.3 or 2.26.4 (or later) per the GitHub Security Advisory at https://github.com/geoserver/geoserver/security/advisories/GHSA-7qmg-grcp-qf25 and PR https://github.com/geoserver/geoserver/pull/8584. Where immediate patching is not possible, mitigate by disabling or removing the GeoServer web administration interface entirely (the vulnerable code path is only reachable through the web UI), which eliminates the bug at the cost of losing browser-based administration and forcing all configuration through application properties or REST. As compensating controls, tightly restrict membership of the GeoServer ROLE_ADMINISTRATOR group, deploy GeoServer behind a hardened reverse proxy that ACL-restricts the /web/ and security endpoints to trusted admin networks, run the servlet container as an unprivileged user whose write access does not include any auto-deploy directory (move geoserver.war out of Tomcat's default webapps autodeploy path and disable autoDeploy/unpackWARs), and on Windows run the GeoServer service under a dedicated low-privilege local account and egress-block outbound SMB (TCP/445) to deny NTLM-relay coercion.

More in Tomcat

View all
CVE-2017-12617 HIGH POC
8.1 Oct 04

When running Apache Tomcat versions 9.0.0.M1 to 9.0.0, 8.5.0 to 8.5.22, 8.0.0.RC1 to 8.0.46 and 7.0.0 to 7.0.81 with HTT

CVE-2023-47246 CRITICAL POC
9.8 Nov 10

In SysAid On-Premise before 23.3.36, a path traversal vulnerability leads to code execution after an attacker writes a f

CVE-2016-8735 CRITICAL POC
9.8 Apr 06

Remote code execution is possible with Apache Tomcat before 6.0.48, 7.x before 7.0.73, 8.x before 8.0.39, 8.5.x before 8

CVE-2017-12615 HIGH POC
8.1 Sep 19

When running Apache Tomcat 7.0.0 to 7.0.79 on Windows with HTTP PUTs enabled (e.g. Rated high severity (CVSS 8.1), this

CVE-2014-0050 HIGH POC
7.5 Apr 01

MultipartStream.java in Apache Commons FileUpload before 1.3.1, as used in Apache Tomcat, JBoss Web, and other products,

CVE-2017-12616 HIGH
7.5 Sep 19

When using a VirtualDirContext with Apache Tomcat 7.0.0 to 7.0.80 it was possible to bypass security constraints and/or

CVE-2014-0227 MEDIUM
6.4 Feb 16

java/org/apache/coyote/http11/filters/ChunkedInputFilter.java in Apache Tomcat 6.x before 6.0.42, 7.x before 7.0.55, and

CVE-2013-5528 MEDIUM POC
4.0 Oct 11

Directory traversal vulnerability in the Tomcat administrative web interface in Cisco Unified Communications Manager all

CVE-2016-6808 CRITICAL POC
9.8 Apr 12

Buffer overflow in Apache Tomcat Connectors (mod_jk) before 1.2.42. Rated critical severity (CVSS 9.8), this vulnerabili

CVE-2016-1240 HIGH POC
7.8 Oct 03

The Tomcat init script in the tomcat7 package before 7.0.56-3+deb8u4 and tomcat8 package before 8.0.14-1+deb8u3 on Debia

CVE-2016-5425 HIGH POC
7.8 Oct 13

The Tomcat package on Red Hat Enterprise Linux (RHEL) 7, Fedora, CentOS, Oracle Linux, and possibly other Linux distribu

CVE-2022-22965 CRITICAL POC
9.8 Apr 01

A Spring MVC or Spring WebFlux application running on JDK 9+ may be vulnerable to remote code execution (RCE) via data b

Share

CVE-2025-52465 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy