Safeguard
Vulnerability Analysis•

CVE-2023-51444: High File Upload Flaw in GeoServer REST API

CVE-2023-51444 is a high severity arbitrary file upload in the GeoServer REST Coverage Store API. Upgrade to 2.23.4 or 2.24.1 and limit admin access.

Safeguard Security Team
3 min read

CVE-2023-51444 is an arbitrary file upload flaw in the GeoServer REST Coverage Store API, rated High (7.2). An authenticated administrator with coverage store permissions can write file contents to arbitrary locations, which can lead to code execution. Upgrade to 2.23.4 or 2.24.1.

What's affected

The GitHub advisory GHSA-9v5q-2gwq-q9hq lists affected packages org.geoserver:gs-platform and org.geoserver:gs-restconfig in versions before 2.23.4 and before 2.24.1. Patched versions are 2.23.4 and 2.24.1. The advisory was published on 19 March 2024. The record gives the same fixed versions.

The record rates it 7.2 (High), vector CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H, and GitHub also labels it High 7.2. The record's CISA KEV flag is false.

The advisory notes that an administrator with limited privileges could potentially use the flaw to overwrite GeoServer security files and obtain full administrator privileges. That matters if you delegate coverage store management to people who are not full administrators.

How to check if you're exposed

Check the GeoServer version in the web admin About page, or from the files in your deployment. For a WAR deployment, look at the jar names under WEB-INF/lib:

ls WEB-INF/lib | grep -E "gs-main|gs-platform|gs-restconfig"

The version appears in the file names. For containers, check the image tag you run. If you build with Maven, a dependency tree search shows whether your project pulls the two affected artifacts:

mvn dependency:tree | grep -E "gs-platform|gs-restconfig"

Next, review who holds permissions to modify coverage stores through the REST API, and whether the REST interface is reachable from outside trusted networks. Both facts decide how worried to be before you patch.

What to do now

  1. Upgrade GeoServer to 2.23.4 or 2.24.1 or later, matching your release line.
  2. Review accounts that can modify coverage stores through the REST Coverage Store API. Remove the permission where it is not needed.
  3. Restrict the REST API and the admin interface to trusted networks, and make sure default administrator credentials have been changed.
  4. Check the data directory and server file system for files you cannot explain, especially in locations the GeoServer process can write.
  5. Run GeoServer as an unprivileged account with write access only where it needs it, so a file write cannot reach system locations.

Why it matters

The record lists CWE-20 (Improper Input Validation) and CWE-434 (Unrestricted Upload of File with Dangerous Type). According to the advisory, coverage stores configured with relative paths use a GeoServer Resource implementation that validates paths to prevent traversal, while stores configured with absolute paths use a different implementation that does not. Two code paths handled the same job with different safety checks.

That inconsistency is a common source of bugs: a protection added to one path is easy to miss in its sibling. The privilege requirement is high, which keeps the score at 7.2, but the impact is code execution and takeover of the server. Treat administrator roles in geospatial platforms with the same care as on any application server.

Quick check

Does an attacker need to be an administrator?

Yes. The advisory describes an authenticated administrator with permission to modify coverage stores. A limited administrator could potentially escalate to full administrator.

How do I know which version is fixed?

The advisory and the record both name 2.23.4 and 2.24.1 as the versions that contain the fix. Use the one for your release line or a later release.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

We email you a link to confirm, and only then add you to the list. Unsubscribe in one click. Privacy

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.