Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privileged GeoNode user
-
DeliveryInject script into document abstract field
-
ExploitVictim opens the document page
-
ExecutionPayload executes in victim browser
-
ImpactHijack session or act as victim
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution 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 GeoNode account with at least low-privilege rights sufficient to create or edit a document and populate its abstract metadata field (PR:L) - it is NOT exploitable by an unauthenticated attacker. The malicious payload only fires when a second user (UI:R) navigates to the affected document's page, so a victim visit is a hard prerequisite. The flaw affects default configurations of GeoNode prior to 5.0.3 because the abstract field was stored without sanitization; no special feature toggle or non-default setting is needed. Limiting factors that reduce real-world risk: the need for a valid account, the dependency on victim interaction, and the absence of any confirmed active exploitation or public exploit. |
| Impact | This is a moderate-severity stored cross-site scripting flaw (CWE-79) in GeoNode's document abstract metadata field, rated CVSS 6.3 by the source. The CVSS vector (AV:N/AC:L/PR:L/UI:R) describes a network-reachable, low-complexity attack that nonetheless requires an authenticated low-privileged account (PR:L) AND victim interaction (UI:R) - two meaningful limiters that keep this out of 'drive-by' territory. The GHSA advisory and the merged fix PRs confirm the vulnerability and the sanitization gap, so the flaw itself is well-substantiated. On the threat side, however, the escalating signals are weak: there is no CISA KEV listing, no EPSS probability was supplied, no SSVC decision was provided, and the references are limited to the advisory, patch PRs, commits, and the 5.0.3 release - none of which is a working exploit. The only prioritization signal present is the vuln.today 'this_month' label, which is consistent with a real-but-not-emergency stored XSS. Net assessment: a genuine, patch-worthy issue appropriate for routine monthly remediation rather than emergency response - the requirement for both authentication and a victim visiting the crafted document page materially bounds real-world exploitability. Note one divergence worth verifying: the source scores C:H with S:U, but stored XSS impact typically manifests in a different security scope (the victim's browser) with lower per-tenant confidentiality impact, so the real-world impact profile may be closer to a scope-changed, lower-confidentiality XSS than the C:H rating implies. |
| Exploit ScenarioDerived | A low-privileged authenticated GeoNode user creates or edits a document and plants arbitrary HTML/JavaScript in the unsanitized abstract metadata field. When another user - for example an administrator or data curator - later opens that document's page, the stored script executes in their browser session, enabling session token theft, actions performed as the victim, or UI manipulation. No public exploit or proof-of-concept reference was identified in the provided data, though the straightforward nature of stored XSS makes exploitation technically simple once an account is obtained. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Nov 06, 2026
Stored cross-site scripting in GeoNode's document abstract metadata allows a low-privileged account holder to persist arbitrary HTML and JavaScript that executes in a second user's browser when that user opens the affected document page. Every GeoNode release before 5.0.3 is affected in its default configuration, and the vendor has shipped a fix in 5.0.3. Severity is moderate (CVSS 6.3, CWE-79); no public exploit code and no confirmed active exploitation were identified at time of analysis, so remediation can follow a normal monthly patch cadence.
RemediationAI
Vendor-released patch: upgrade GeoNode to 5.0.3 (https://github.com/GeoNode/geonode/releases/tag/5.0.3), which adds the CleanupHandler sanitizer; the underlying changes are PRs https://github.com/GeoNode/geonode/pull/14322 and https://github.com/GeoNode/geonode/pull/14343 with commits 0803857b22eba5b55729145ef401b1bc1c23e332 and 730d8fae206ea5b051f630718aeecae1bf7b5760, detailed in advisory https://github.com/GeoNode/geonode/security/advisories/GHSA-r4hm-p9f9-fj9v. Because the sanitizer runs as metadata is written through the update path, previously stored abstracts are not retroactively cleaned, so after upgrading audit existing document abstracts for embedded markup and re-save any that contain it. If the upgrade cannot be applied in the current cycle, restrict document create/edit permissions to trusted users, which reduces but does not remove the risk since any authorized author can still target other users, and accept that legitimate HTML formatting in metadata will be flattened to plain text once the fix is in place. Given the moderate severity and lack of observed exploitation, fold this into the regular monthly patch cycle rather than an emergency change.
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 publishes datasets, maps and documents through a metadata subsystem built from a configurable chain of MetadataHandler classes (registered in geonode/metadata/settings.py and orchestrated by geonode/metadata/manager.py). In affected releases the document abstract field was persisted without sanitization and subsequently rendered in the document detail page without escaping, so markup supplied by an authenticated user with document create/edit rights (PR:L) was stored and later executed in the session of any user who visited the page (UI:R) - the classic CWE-79 pattern of failing to neutralize user-controllable input during web page generation. Exploitation therefore requires a valid GeoNode account and a victim visit to the poisoned document; it is not reachable by an unauthenticated attacker, and no feature toggle or non-default setting is involved. The upstream fix introduces a new CleanupHandler (geonode/metadata/handlers/meta.py) wired in as the metadata_cleaner and executed during pre_deserialization: it walks the whole metadata JSON instance recursively, HTML-unescapes each string, detects tag-like patterns, removes script, style, noscript, iframe, object and embed elements with BeautifulSoup, reduces the remaining markup to text, logs the change, and raises a 'sanitized' metadata validation error on the affected root field. PR 14322 also threads the request language through labelResolver.gettext and adds an explicit errors container to the metadata context; PR 14343 is a companion fix.
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:R/S:U/C:H/I:L/A:N
Authenticated low-priv user stores the payload (PR:L) that runs only when a victim visits (UI:R); execution in the victim's browser crosses scope (S:C) with limited confidentiality/integrity impact typical of XSS.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
GeoNode is a geospatial content management system, a platform for the management and publication of geospatial data. Prior to 5.0.3, document abstract metadata is stored without sanitization, allowing a low-privileged remote user to persist arbitrary HTML and JavaScript that executes in another user's browser when the document page is visited. This issue is fixed in version 5.0.3.
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
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
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
OS command injection in GeoNode versions prior to 5.1.0 allows an authenticated low-privilege user with dataset upload r
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-118479
GHSA-r4hm-p9f9-fj9v
NVD
CVE.org
EPSS
Exploit-DB