Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain formatter-upload privileges
-
DeliveryUpload malicious .xsl with Java extension call
-
ExploitFormatter rendered by Saxon
-
ExecutionRuntime.exec() runs OS commands
-
ImpactCode execution as GeoNetwork process user
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Code injection prevention, sandbox exec
MITRE ATT&CK
2 techniques across 2 tactics: Execution, Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires an authenticated account with sufficient privileges to upload or edit a formatter/XSLT stylesheet in GeoNetwork (reflected as PR:H), and the vulnerable default Saxon configuration present in versions before 4.4.12/4.2.17 where FEATURE_SECURE_PROCESSING is off and ALLOW_EXTERNAL_FUNCTIONS is on. What limits it: the attacker cannot exploit anonymously - formatter-upload rights are an editor/administrator-level capability - and the flaw is closed in the patched releases, so it applies only to un-upgraded instances. No end-user interaction beyond the malicious stylesheet being rendered is needed (UI:N). |
| Impact | The CVSS 3.1 vector (AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H, 9.1) reflects network-reachable, low-complexity exploitation but is explicit that high privileges are required (PR:H) - consistent with the description's requirement that the attacker already hold rights to upload a formatter, so this is not an unauthenticated flaw despite the TheHackerNews headline calling it 'unauthenticated RCE.' That conflict should be resolved in the operator's favor by auditing who actually holds formatter-upload rights: any organization running GeoNetwork on sensitive infrastructure - even a mid-sized municipal GIS team in gniezno should treat a full-RCE-from-a-privileged-user issue as urgent and patch promptly. No EPSS score or CISA KEV status was supplied and no POC is referenced, so real-world exploitation pressure appears moderate and gated by the privilege prerequisite; the primary risk is a compromised or over-permissioned editor/admin account converting catalog access into host takeover and lateral movement. |
| Exploit ScenarioDerived | An attacker who obtains or abuses a GeoNetwork account with formatter-upload privileges (or a legitimate but malicious editor) uploads a .xsl formatter containing a Java extension call to Runtime.exec(). When the formatter is rendered, GeoNetwork's Saxon engine executes the embedded call, running attacker-chosen OS commands as the GeoNetwork process user - enabling reverse shells, credential theft, or pivoting. No POC is publicly referenced, but the technique is straightforward given documented Saxon extension-function behavior. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 03, 2026
Arbitrary OS command execution in GeoNetwork before 4.4.12 and 4.2.17 arises because the Saxon XSLT processor that renders formatters runs without FEATURE_SECURE_PROCESSING and with Java extension functions (ALLOW_EXTERNAL_FUNCTIONS) enabled. A user privileged enough to upload a formatter can supply a malicious .xsl stylesheet that invokes java.lang.Runtime.exec() or java.lang.ProcessBuilder, running commands as the GeoNetwork process user. No public exploit is identified at time of analysis, though the vendor GHSA advisory and public reporting describe the technique in detail.
RemediationAI
Vendor-released patch: upgrade to GeoNetwork 4.4.12 or 4.2.17, which configure Saxon with secure processing and disable Java extension functions (per GHSA-x898-729x-cc3r and the 4.4.12/4.2.17 change logs). If immediate patching is not possible, restrict who can upload or modify formatters/stylesheets to the smallest possible set of trusted administrators and audit existing custom formatters for Java extension calls, since removing that capability is the direct mitigation for the required privilege (trade-off: editors lose custom-formatter functionality). Additionally, run the GeoNetwork process as a low-privileged, sandboxed OS user with no outbound network egress and constrained filesystem access to limit blast radius of any command execution, and monitor for unexpected child processes spawned by the servlet container.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
GeoNetwork is an open-source spatial data catalog (CPE cpe:2.3:a:geonetwork:core-geonetwork) that renders metadata records through configurable XSLT 'formatters.' It embeds Saxon, a full XSLT/XPath 2.0+ engine that, unless locked down, permits stylesheets to call arbitrary Java methods via extension functions. The root cause is CWE-94 (code injection): Saxon is instantiated without the JAXP FEATURE_SECURE_PROCESSING guard and with external/Java extension functions permitted, so the stylesheet - which is normally treated as trusted presentation logic - becomes an unrestricted code-execution surface. Because the sink is java.lang.Runtime/ProcessBuilder, execution escapes the XSLT sandbox entirely and reaches the host OS with the servlet container's privileges.
Know when Geonetwork gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H
Network-reachable RCE with low complexity but requires formatter-upload privileges (PR:H); I assess S:U since impact stays within the GeoNetwork process's OS authority, full C/I/A from command execution.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
GeoNetwork is a catalog application to manage spatially referenced resources. Prior to versions 4.4.12 and 4.2.17, the Saxon XSLT processor used to render formatters is configured without secure processing (FEATURE_SECURE_PROCESSING) and without disabling Java extension functions (ALLOW_EXTERNAL_FUNCTIONS). Any stylesheet loaded by GeoNetwork can therefore invoke java.lang.Runtime.exec() or java.lang.ProcessBuilder directly, achieving arbitrary command execution as the GeoNetwork process user. A user with sufficient privileges to upload a formatter can deliver a .xsl file containing Java extension call that execute arbitrary OS commands with the privileges of the GeoNetwork process. The issue is patched in GeoNetwork versions 4.4.12 and 4.2.17.
Articles & Coverage 2
Technical POC Analysis
Primary bug class: CWE-94, Improper Control of Generation of Code ('Code Injection').
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
GeoNetwork implementations running versions before 4.4.12 and 4.2.17 risk complete server compromise through a critical command execution flaw that allows privileged internal users to execute arbitrary operating system commands with full process permissions. No public exploit identified at time of analysis, but threat actors with formatter upload access could achieve full server control, enabling data exfiltration, service disruption, or lateral movement to connected infrastructure. Organizations using GeoNetwork for geospatial data distribution should prioritize immediate inventory and patching.
Vendor-released patch: upgrade to GeoNetwork 4.4.12 (for 4.4.x branch) or 4.2.17 (for 4.2.x branch). Interim mitigations pending patch deployment: restrict formatter upload capability to only essential administrators, disable formatter uploads if operationally acceptable, and configure GeoNetwork process to run with minimal OS-level privileges to limit blast radius of any command execution.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
More in Geonetwork
View allA remote code execution vulnerability in GeoServer (CVSS 9.9) that allows users. Risk factors: public PoC available. Ven
Unauthenticated arbitrary file upload in GeoNetwork prior to versions 4.4.12 and 4.2.17 allows remote attackers to write
Geonetwork versions up to 4.2.0 is affected by improper restriction of xml external entity reference (CVSS 6.5).
Post-login redirect validation in GeoNetwork's OAuth2/OIDC and Keycloak SSO authentication filters can be bypassed to re
GeoNetwork is a catalog application to manage spatially referenced resources. Rated remotely exploitable, no authenticat
EUVD-2026-70645
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB