basicsecurity.net
Proof, not just disclosure.
Threats / OSGeo / CVE-2025-58360
CVE-2025-58360 · EUVD no mirror located · GCVE no mirror located Verified 2026-06-22

OSGeo GeoServer vulnerability

OSGeo GeoServer improperly restricts XML external entity references in WMS GetMap requests, allowing attackers to define malicious external entities.

Verdict

Today item — known-exploited.

An unauthenticated attacker can exploit XXE via the /geoserver/wms GetMap endpoint to access local files, trigger server-side requests, or cause denial of service. Active exploitation in the wild increases urgency.

CISA KEV Yes · 2025-12-113EPSS 0.66753 (verify live)4Exploit Public PoC5
01

Is it exploitable?

— the evidence, ranked above the score
Exploit available
Public proof-of-concept exploit code is cataloged for this vulnerability.We link the existence of the exploit; we do not host or redistribute payloads.
Reported exploitation
104 independent public reports of in-the-wild exploitation are cataloged.Distinct reporting sources (vendor, incident response, government); open them for the underlying claims.
Exploited in the wild
Listed in the CISA Known Exploited Vulnerabilities catalog (added 2025-12-11).
CISA KEV ↗Confirmed
Probability (EPSS)
EPSS 0.66753 — modeled likelihood of exploitation activity.EPSS is a daily-changing model output — open the source for today's value.
Severity / affected
Affected: OSGeo, GeoServer. Confirm exact fixed builds in the vendor advisory.
NVD ↗Reported
Weakness (CWE)
Mapped to CWE-611 XML External Entity (XXE) — weakness family: Web / client.CWE assignment from the public NVD record; the weakness class drives how the flaw is exploited.
NVD ↗Reported
02

Who’s exploiting it?

— attribution turns risk into urgency
Attribution not established

No confirmed (advisory-backed) threat-actor attribution is established for this record. Absence of a named actor is not absence of compromise — see Coverage & confidence.

03

Why it matters

— the attack path, told twice: adversary, then board
1

Front door — unauthenticated access narrative 1

Attacker
I craft a WMS GetMap request containing XML with a malicious external entity definition pointing to a local file or internal service.
Business
Sensitive configuration files, credentials, or internal system information becomes accessible to the attacker.
2

Keys to the kingdom — privilege/identity takeover narrative 2

Attacker
I use the XXE vulnerability to make the GeoServer instance perform requests to internal systems or external attacker-controlled servers.
Business
Internal network reconnaissance occurs and the organization's infrastructure is mapped by adversaries.
3

Lateral reach — past segmentation narrative 3

Attacker
I submit deeply nested or billion-laughs XML payloads through the GetMap endpoint to exhaust server resources.
Business
GeoServer becomes unavailable, disrupting mapping and geospatial services that depend on the platform.
04

What to do

— defensible action
  • Remediate per the vendor advisory — confirm the fixed build for your version and verify exposure.1
Say it to the boardA vulnerability with this evidence profile is a defensible budget line, not a backlog ticket — fund the change against the proof above.
05

Coverage & confidence

— what we know, and what we don’t

Established (cited)

  • KEV listing (CISA)
  • EPSS probability (FIRST)
  • Public PoC available (VulnCheck)
  • 104 reported-exploitation source(s)
  • CWE weakness mapping (NVD)
  • Public exploit availability
  • Catalogued by GitHub_M (CNA)
  • Coverage gaps — stated, not hidden

  • No EUVD / GCVE mirror in feed — single-authority dependency for the identifier.
  • EPSS & exposure are time-varying; verify live at the source.
  • Threat-actor attribution not established from feed data — absence of a name is not absence of compromise.
  • No finder/reporter credit recorded in the public CVE entry — the work behind this find is unattributed.
  • Disclosure & credit2
    Catalogued by GitHub_MCNA
    Credited with finding itNo finder named in the public CVE record — the work behind this find is unattributed.