Skip to main content

Drupal SafeDelete EUVDEUVD-2026-107859

| CVE-2026-87942 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-10-22 drupal GHSA-3cfc-vppv-prxq
4.6
CVSS 3.1 · Vendor: drupal
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as low-privileged Drupal user
  2. Delivery
    Inject script into unsanitized SafeDelete field
  3. Exploit
    Payload stored server-side
  4. Execution
    Victim/admin views affected page
  5. Persist
    Script executes in victim browser
  6. Impact
    Steal 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 (1) a Drupal site running SafeDelete between 0.0.0 and 1.0.88, (2) an attacker holding a low-privileged authenticated account that can submit input into the affected SafeDelete field (PR:L - unauthenticated anonymous users cannot exploit this), and (3) a second user, typically an administrator or content reviewer, subsequently loading the page where the payload is rendered (UI:R). These two prerequisites - authenticated write access plus required victim interaction - are the principal limiting factors and meaningfully reduce real-world risk below what the network attack vector alone implies. The available sources do not name the exact field, form, or SafeDelete feature that fails to neutralize the input, so the precise injection point should be confirmed from the Drupal advisory.

Impact

This is a moderate-severity stored Cross-Site Scripting flaw (CWE-79) in the Drupal SafeDelete contributed module, rated CVSS 4.6. The CVSS vector (AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N) indicates network reach but constrained real-world impact: PR:L means the attacker must already hold a low-privileged authenticated account on the site, UI:R means a victim must view the page where the payload is stored, and C:L/I:L/A:N limits impact to partial confidentiality/integrity with no availability effect. The exploitation signals reinforce low urgency rather than contradict it: EPSS is 0.16% (5th percentile), there is no CISA KEV listing, and no public exploit was identified at time of analysis. The vuln.today decision label is 'this_month,' consistent with a patch-when-convenient posture rather than emergency remediation. No signals conflict here - a low EPSS, absent KEV, and a mid-range CVSS all point the same way. The main caveat is that stored XSS against an administrative user can escalate beyond the C:L/I:L rating if the injected script hijacks an admin session, so the practical impact depends on which user roles can reach the injection point; the available sources do not specify that, so it should be verified against the Drupal advisory.

Exploit ScenarioDerived

A low-privileged authenticated user on a Drupal site running a vulnerable SafeDelete version submits input containing a malicious script into a field that is not properly sanitized before being rendered. The payload is stored and later executes in the browser of another user - typically an administrator reviewing the content - allowing session token theft or actions in that victim's context. No public exploit code was identified at time of analysis, and successful exploitation requires the victim to load the affected page (UI:R).

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 22, 2026

Stored cross-site scripting in the Drupal SafeDelete contributed module (versions 0.0.0 through 1.0.88) allows a low-privileged authenticated user to persist malicious markup that executes in the browser of a second user - typically an administrator or content reviewer - who later loads the page where the unneutralized input is rendered. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N) rates this 4.6, a moderate severity: exploitation requires an authenticated account able to write into the affected SafeDelete field plus victim interaction, which meaningfully lowers real-world risk below what the network vector alone suggests. No public exploit code has been identified at time of analysis and EPSS is 0.16% (5th percentile); the vendor has published a security advisory and a fix is available.

RemediationAI

Vendor-released patch: available from the Drupal project; update the SafeDelete contributed module to the fixed release identified in Drupal security advisory SA-CONTRIB-2026-140 (https://www.drupal.org/sa-contrib-2026-140) and confirm against EUVD's range statement (0.0.0 <1.0.88) and the CVE text (0.0.0 to 1.0.88) before treating any specific version as the fixed boundary - the advisory is authoritative. Treat this as a this-month priority item per current prioritization rather than an emergency release: no public exploit code has been identified and EPSS is 0.16%. Where an immediate update is not possible, the exploitable prerequisites themselves can be removed: because exploitation requires a low-privileged authenticated account that can submit input into the affected SafeDelete field, restrict write access to that field and to the SafeDelete administrative surfaces to trusted, minimal roles and audit existing content authored by untrusted accounts for stored markup - this reduces exposure but does not repair the missing output encoding, so updating remains the complete fix. Reviewing and re-saving previously stored content helps only in combination with the patched module.

Affected VersionsENISA

SafeDelete 0.0.0 <1.0.88

Affected Packages

composer drupal/safedelete fix: 1.0.88
euvd safedelete fix: 1.0.88

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in composer, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The flaw is CWE-79 (Improper Neutralization of Input During Web Page Generation), the classic stored/persistent XSS class, in the SafeDelete contributed module for Drupal, a PHP-based content management system whose contributed modules extend core content lifecycle behavior. In this class of defect, user-supplied input is written to storage and later emitted into an HTML page without adequate encoding or sanitization, so the payload is served from the trusted origin and executes in the context of any user viewing that output. Affected code is identified by CPE cpe:2.3:a:drupal:safedelete:*:*:*:*:*:*:*:*, covering the SafeDelete module across its released versions up to the range boundary given in the advisory data. The available sources do not name the exact field, form, or SafeDelete feature that fails to neutralize the input, so the trigger and the precise injection point should be confirmed from the Drupal security advisory (SA-CONTRIB-2026-140) rather than inferred from the vulnerability class.

Know when Safedelete 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 (drupal) PRIMARY 4.6 MEDIUM
AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N
vuln.today AI 4.6 MEDIUM

Authenticated low-privileged user injects stored script (PR:L), a victim must view the page (UI:R), yielding partial confidentiality and integrity impact with no availability effect.

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

Primary rating from Vendor (drupal).

CVSS VectorVendor: drupal

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

Lifecycle Timeline

2
Patch available
Oct 22, 2026 - 03:01 EUVD
CVE Published
Oct 22, 2026 - 01:22 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

Improper Neutralization of Input During Web Page Generation ("Cross-site Scripting") vulnerability in Drupal SafeDelete allows Stored XSS. This issue affects SafeDelete versions: from 0.0.0 to 1.0.88.

Threat Intelligence Overview

EPSS Score
0.2%
Top 95% exploitable
Prevalence
Low
niche Drupal contributed module, not core; limited site adoption
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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

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