Skip to main content

GeoNode EUVDEUVD-2026-118477

| CVE-2026-33050 HIGH
OS Command Injection (CWE-78)
2026-11-06 GitHub_M GHSA-9fpx-fr6j-2vh6
8.8
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as low-privileged user
  2. Delivery
    Upload vector file with crafted layer name
  3. Exploit
    Unsanitized name built into ogr2ogr command
  4. Execution
    Command run via shell=True
  5. Impact
    Arbitrary 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.7% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

geonode < 5.1.0

Affected Packages

pypi geonode fix: 5.1.0

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

Vendor (GitHub_M) PRIMARY 8.8 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 8.8 HIGH

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.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

2
Patch available
Nov 06, 2026 - 21:03 EUVD
CVE Published
Nov 06, 2026 - 19:39 cve.org
HIGH 8.8

DescriptionCVE.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.

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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.7%
Top 48% exploitable
Prevalence
Low
niche industry-specific geospatial CMS, mainly GIS/government/research deployments
Threat Intel
1
1 source
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.7%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

45
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

OS command injection occurs when an application passes unsanitized user input directly into system shell commands.

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