Drupal Facets
CVE-2025-9550
MEDIUM
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft malicious facet input/URL
-
DeliveryDeliver link to site user
-
ExploitScript reflected/stored in facet output
-
ExecutionExecutes in victim browser
-
ImpactSteal session or perform actions
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 the Drupal Facets (faceted search) module to be installed and active on versions before 2.0.10 (0.x/2.x branch) or before 3.0.1 (3.x branch), and requires a victim to interact with attacker-supplied content (UI:R) - for example clicking a crafted link or viewing a page containing injected facet markup. The limiting factors are the mandatory user interaction and the requirement that the site run the vulnerable Facets module version; impact is constrained to limited confidentiality and integrity (C:L/I:L) within the browser context, with no availability impact. No elevated privileges are needed by the attacker (PR:N), but delivery depends on luring a user to the malicious content. |
| Impact | This is a moderate-severity (CVSS 6.1) cross-site scripting flaw whose signals point to a low-urgency, non-emergency priority. The CVSS vector (AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N) shows network reachability with no privileges required but mandatory user interaction (UI:R) and only limited confidentiality/integrity impact - characteristic of XSS where a victim must load attacker-influenced content. The scope change (S:C) reflects script executing in the browser security context, typical for XSS. Exploitation signals are reassuring: EPSS is 0.19% (8th percentile), there is no CISA KEV listing, and no public exploit code was identified in the provided data, so there is no evidence of active exploitation. These signals are internally consistent - a genuine but low-probability-of-exploitation issue. No SSVC decision data was provided. Overall this is a 'patch in normal cycle' item rather than a drop-everything priority, though XSS in a search/faceting component can be leveraged for session theft or admin-targeted phishing if left unpatched. |
| Exploit ScenarioDerived | An attacker crafts a URL or input containing malicious script that is reflected or stored through the Drupal Facets faceted-search interface. When a victim (potentially an authenticated site administrator or editor) views the page, the script executes in their browser session, enabling cookie/session theft or actions in the site's context. No public proof-of-concept was identified, and the attack requires the victim to interact with the malicious content (UI:R). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 08, 2026
Cross-site scripting in the Drupal Facets contributed module allows unauthenticated remote attackers to inject script into faceted-search output on sites running Facets before 2.0.10 (0.x/2.x branches) or before 3.0.1 (3.x branch). Exploitation is not automatic: it requires a victim to interact with attacker-supplied content - for instance clicking a crafted link or loading a page containing injected facet markup - after which script runs in the victim's browser context and can read or alter limited page data. There is no confirmed active exploitation (CISA KEV does not list this issue), no public exploit code identified at time of analysis, and EPSS is very low at 0.19% (8th percentile), consistent with a moderate-severity (CVSS 6.1) issue of low urgency rather than an emergency patch item.
RemediationAI
Upgrade the Facets module to the vendor-fixed releases: 2.0.10 for sites on the 0.x or 2.x branches, and 3.0.1 for sites on the 3.x branch (verified patch data states a fix is available from the vendor, with the advisory at https://www.drupal.org/sa-contrib-2025-100). In practice this means updating the contributed module via Composer (for example composer update drupal/facets --with-dependencies) or the Drupal admin UI, then running database updates and clearing caches, and confirming the deployed version is at or above the fixed release. If an immediate upgrade is not possible, treat any user- or URL-supplied data reaching facet displays as untrusted: tighten input handling around facet query parameters, and, as a temporary compensating control, deploy a WAF rule or reverse-proxy filter that blocks script-bearing payloads in facet-related query strings - accepting that this may break legitimate filter values or trigger false positives. Because exploitation depends on victim interaction (UI:R), reminding privileged and end users not to follow unsolicited links containing facet parameters reduces exposure during the patching window; this is a partial mitigation only and does not replace the upgrade. No vendor-released patch is missing here, so no unsupported workaround should be treated as equivalent to installing 2.0.10 or 3.0.1.
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in composer
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The vulnerability is a classic CWE-79 improper neutralization of input during web page generation, rooted in how the Drupal Facets module renders faceted-search UI elements. Facets is a contributed Drupal module that layers faceted navigation on top of the Search API, generating facet links, filter labels, and AJAX-driven result refreshes from indexed field values and URL query parameters. Where facet values or their surrounding markup are emitted without adequate output escaping or contextual sanitization, an attacker-controlled value can break out of its intended HTML context and execute as script. The CVSS 3.1 vector CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N confirms this picture: reachable over the network with no attacker privileges (PR:N), but demanding user interaction (UI:R) and scored with Scope:Changed (S:C), meaning the vulnerable Drupal component and the impacted browser/script execution context are treated as different security authorities. Impact is limited confidentiality and integrity within the browser session, with no availability impact. The CPE entries cpe:2.3:a:facets_project:facets:*:*:*:*:*:drupal:*:* identify the affected package as the Drupal-contributed facets_project facets module; both the 0.x/2.x and 3.x release lines are in scope.
Know when Facets 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:N/UI:R/S:C/C:L/I:L/A:N
Network-reachable XSS requiring victim interaction (UI:R); no attacker privileges (PR:N); script crosses into browser context (S:C) with limited C/I impact and no availability effect.
Primary rating from Vendor (drupal).
CVSS VectorVendor: drupal
DescriptionCVE.org
Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') vulnerability in Drupal Facets allows Cross-Site Scripting (XSS).This issue affects Facets: from 0.0.0 before 2.0.10, from 3.0.0 before 3.0.1.
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.
Affected Products (CPE)CVE.org
Missing authorization in the Drupal Facets contributed module lets unauthenticated remote attackers bypass access contro
Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') vulnerability in Drupal Facets allo
NVD
CVE.org
EPSS
GitHub PoC
Exploit-DB