CVE-2024-12393
NoneDrupal Core Cross-Site Scripting (XSS)
CVSS
—
EPSS
0.3%
Published
Dec 10, 2024
CISA due date
—
Cloudanix analysis
A website bug lets attackers slip harmful code into messages shown to visitors, potentially letting them steal login details or change what people see.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Data Exposure
- Component
- Web Framework
- Class
- XSS
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Unsanitized status messages rendered via JavaScript allow injection of arbitrary script content into user sessions.
Why it matters to the business
Attackers could hijack user sessions, steal data, or deface sites, increasing support costs and eroding trust; low EPSS and no KEV listing reduce immediate urgency but the two-year publication window means unpatched sites remain exposed.
How an attack unfolds
An attacker supplies crafted input that becomes a status message; when the page renders the message through JavaScript without proper sanitization, the injected script executes in victims' browsers.
How to fix it
Upgrade Drupal Core to 10.2.11 or later, 10.3.9 or later, or 11.0.8 or later; the fix is included in commit 3712d59414f556474f990a503c3f7c295f8c719f.
How to confirm the fix worked
Verify installed version is at or above the fixed releases, then test status message rendering paths with known XSS test vectors to confirm sanitization occurs before JavaScript execution.
Typical attack path
- Identify a Drupal site accepting user-controlled input that surfaces as a status message
- Craft payload containing executable script that bypasses existing sanitization
- Trigger the status message display for targeted or all users
- Harvest cookies, tokens, or perform actions on behalf of authenticated victims
How to detect it
Review web server and application logs for status message entries containing script tags, event handlers, or encoded JavaScript; inspect rendered page source for unexpected script execution in status regions.
What your security team should do
- Apply the listed Drupal upgrades within the next maintenance window
- Audit custom modules that generate status messages for similar sanitization gaps
- Enable Content-Security-Policy headers as a defense-in-depth measure
- Monitor EPSS trend; reassess if score rises above 0.1
The record
Drupal uses JavaScript to render status messages in some cases and configurations. In certain situations, the status messages are not adequately sanitized. This issue affects Drupal Core: from 8.8.0 before 10.2.11, from 10.3.0 before 10.3.9, from 11.0.0 before 11.0.8.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Packagist | drupal/core | 10.3.0 | 10.3.9 |
| Packagist | drupal/core | 11.0.0 | 11.0.8 |
| Packagist | drupal/core | 8.8.0 | 10.2.11 |
| Packagist | drupal/core-recommended | 10.3.0 | 10.3.9 |
| Packagist | drupal/core-recommended | 11.0.0 | 11.0.8 |
| Packagist | drupal/core-recommended | 8.8.0 | 10.2.11 |
| Packagist | drupal/drupal | 10.3.0 | 10.3.9 |
| Packagist | drupal/drupal | 11.0.0 | 11.0.8 |
| Packagist | drupal/drupal | 8.8.0 | 10.2.11 |
| Bitnami | drupal | 8.8.0 | 10.3.9 |
| Ubuntu:Pro:14.04:LTS | drupal7 | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | drupal7 | 0 | No fix |
| packagist | drupal/core | 10.3.0 | 10.3.9 |
| packagist | drupal/core | 11.0.0 | 11.0.8 |
| packagist | drupal/core | 8.8.0 | 10.2.11 |
| packagist | drupal/core-recommended | 10.3.0 | 10.3.9 |
| packagist | drupal/core-recommended | 11.0.0 | 11.0.8 |
| packagist | drupal/core-recommended | 8.8.0 | 10.2.11 |
| packagist | drupal/drupal | 10.3.0 | 10.3.9 |
| packagist | drupal/drupal | 11.0.0 | 11.0.8 |
| packagist | drupal/drupal | 8.8.0 | 10.2.11 |
Related vulnerabilities
- GHSA-83v7-c2cf-p9c2 Drupal core allows Forceful Browsing Also affects drupal/core
- GHSA-h89p-5896-f4q8 Drupal core allows Content Spoofing Also affects drupal/core
- GHSA-mhpg-hpj5-73r2 Drupal core allows Exploiting Incorrectly Configured Access Control Security Levels Also affects drupal/core
- GHSA-m6vv-vcj8-w8m7 Drupal core allows Object Injection Also affects drupal/core
- CVE-2025-13081 Drupal core allows Object Injection Also affects drupal/core
- CVE-2025-13082 Drupal core allows Content Spoofing Also affects drupal/core
- CVE-2025-13083 Drupal core allows Exploiting Incorrectly Configured Access Control Security Levels Also affects drupal/core
- CVE-2025-13080 Drupal core allows Forceful Browsing Also affects drupal/core