Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privileged user
-
DeliveryUpload vector file with crafted layer name
-
ExploitUnsanitized name built into ogr2ogr command
-
ExecutionCommand run via shell=True
-
ImpactArbitrary OS commands execute on GeoNode server
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK
2 techniques across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires an authenticated account with permission to upload a vector dataset (PR:L); the attacker supplies a crafted layer/original file name containing shell metacharacters that GeoNode passes into the ogr2ogr import command executed via shell=True in geonode/upload/handlers/common/vector.py. Limiting factors: exploitation needs a valid low-privilege account with upload rights (no anonymous path indicated), and affected versions are those prior to 5.1.0; no user interaction beyond the attacker's own upload is required. No special non-default configuration is described as necessary - the vulnerable command construction is in the standard upload handler. |
| Impact | This is a genuine priority, consistent across the available signals. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N) describes a network-reachable, low-complexity flaw requiring only a low-privileged account, yielding full C:H/I:H/A:H impact - OS command execution on the GeoNode server (CWE-78), confirmed by the GeoNode GHSA advisory and the fixing commit. The vuln.today decision label is 'this_week', aligning with a high-impact but authentication-gated issue rather than an emergency. No EPSS score and no KEV status were supplied, so widespread or active exploitation cannot be asserted; this is 'no public exploit identified at time of analysis'. However, the fixing commit is public and clearly shows the unsanitized layer name flowing into an ogr2ogr command run with shell=True, which materially lowers the bar for an attacker to reconstruct an exploit even though no working PoC is provided. Net: a real, high-severity RCE whose only meaningful barrier is possession of a low-privilege upload-capable account; patch within the vendor-indicated 'this_week' window. |
| Exploit ScenarioDerived | An attacker holding (or registering for) a low-privileged GeoNode account uploads a vector dataset whose layer/file name embeds shell metacharacters. When GeoNode builds the ogr2ogr import command and runs it through a shell, the injected syntax executes, giving the attacker arbitrary OS command execution as the GeoNode service account. No public working exploit is provided, but the fixing commit publicly reveals the exact injection point. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Nov 06, 2026
OS command injection in GeoNode versions prior to 5.1.0 allows an authenticated low-privilege user with dataset upload rights to execute arbitrary operating-system commands on the server by submitting a vector file whose layer name contains shell metacharacters. The crafted name is passed into the ogr2ogr import command, which was built as a shell string and executed with shell=True; no further user interaction is required beyond the attacker's own upload. No public exploit code was identified at the time of analysis, and the vendor-released fix is version 5.1.0.
RemediationAI
Upgrade to GeoNode 5.1.0, which replaces shell=True string construction with shlex.quote and argument-list execution in geonode/upload/handlers/common/vector.py; the release is at https://github.com/GeoNode/geonode/releases/tag/5.1.0 and the fix commit is at https://github.com/GeoNode/geonode/commit/1408290c0bb54872924a9b334a516db9758a2180. Apply the vendor advisory at https://github.com/GeoNode/geonode/security/advisories/GHSA-9fpx-fr6j-2vh6. The available advisory does not document a separate workaround; updating to 5.1.0 is the complete fix.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in pypi
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
GeoNode is a Django-based geospatial content management system that imports uploaded vector datasets using GDAL's ogr2ogr utility. In geonode/upload/handlers/common/vector.py, create_ogr2ogr_command concatenated the uploaded file path and the user-controlled layer name into a command string, and import_with_ogr2ogr executed that string through Popen with shell=True. This is CWE-78: the layer name was not neutralized before shell interpretation, so shell metacharacters in the uploaded layer name could break out of the intended ogr2ogr invocation and run arbitrary OS commands with the GeoNode process privileges. The fix at commit 1408290c replaces string concatenation with shlex.quote and passes an argument list to Popen with shell=False, handling the optional psql pipe through two Python subprocesses.
Know when Geonode 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:L/UI:N/S:U/C:H/I:H/A:H
Network-reachable upload with a low-privilege account (PR:L), no user interaction, trivially crafted input (AC:L), yielding OS command execution with full C/I/A impact on the server.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
GeoNode is a geospatial content management system, a platform for the management and publication of geospatial data. Prior to 5.1.0, a crafted vector file layer name supplied during upload allows a low-privileged remote user to inject shell syntax and execute arbitrary operating-system commands on the GeoNode server. This issue is fixed in version 5.1.0.
Articles & Coverage 1
Technical POC Analysis
CWE-78: Improper Neutralization of Special Elements used in an OS Command.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
A high-severity command injection vulnerability in GeoNode (versions before 5.1.0) allows authenticated users with basic dataset upload privileges to execute arbitrary operating system commands on the server. This means a low-privileged insider or compromised account could take full control of the GeoNode host, potentially leading to data breaches, service disruption, and lateral movement within the network. Leadership should prioritize remediation because the vulnerability affects the integrity and availability of the geospatial platform and could expose sensitive organizational data.
Apply vendor patch. If upgrade cannot be performed immediately, restrict dataset upload privileges to trusted users only, implement a WAF to block malicious layer names, and enforce strict input validation.
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
OS command injection occurs when an application passes unsanitized user input directly into system shell commands.
GeoNode is an open source platform that facilitates the creation, sharing, and collaborative use of geospatial data. Rat
GeoNode is an open source platform that facilitates the creation, sharing, and collaborative use of geospatial data. Rat
GeoNode is an open source platform that facilitates the creation, sharing, and collaborative use of geospatial data. Rat
GeoNode 4.0 before 4.4.5 and 5.0 before 5.0.2 contains a server-side request forgery vulnerability in the service regist
Stored cross-site scripting in GeoNode's document abstract metadata allows a low-privileged account holder to persist ar
GeoNode 5.0.2 and earlier allow an authenticated low-privileged user to bypass document upload validation and store mali
Server-side request forgery in GeoNode 4.0-4.4.4 and 5.0-5.0.1 allows authenticated users with document upload permissio
GeoNode is an open source platform that facilitates the creation, sharing, and collaborative use of geospatial data. Rat
EUVD-2026-118477
GHSA-9fpx-fr6j-2vh6
NVD
CVE.org
EPSS
Exploit-DB