CVE-2024-13283

6.1 MEDIUM

📋 TL;DR

This CVE describes a cross-site scripting (XSS) vulnerability in Drupal's Facets module that allows attackers to inject malicious scripts into web pages. The vulnerability affects all Drupal sites using Facets module versions before 2.0.9. When exploited, it can lead to session hijacking, credential theft, or unauthorized actions on behalf of users.

💻 Affected Systems

Products:
  • Drupal Facets module
Versions: 0.0.0 through 2.0.8
Operating Systems: All operating systems running Drupal
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects Drupal sites with the Facets module enabled. The vulnerability exists in the module's input handling during web page generation.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal administrator credentials, take over administrative accounts, deface websites, or redirect users to malicious sites, potentially leading to complete site compromise.

🟠

Likely Case

Attackers inject malicious JavaScript to steal user session cookies, perform actions on behalf of authenticated users, or redirect users to phishing pages.

🟢

If Mitigated

With proper input validation and output encoding, the impact is limited to potential data leakage from the specific vulnerable component.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

XSS vulnerabilities typically have low exploitation complexity. The advisory suggests the vulnerability can be exploited without authentication.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.0.9

Vendor Advisory: https://www.drupal.org/sa-contrib-2024-047

Restart Required: No

Instructions:

1. Update the Facets module to version 2.0.9 or later via Drupal's update manager. 2. Clear Drupal caches after update. 3. Verify the update was successful by checking the module version.

🔧 Temporary Workarounds

Disable Facets module

all

Temporarily disable the vulnerable Facets module until patching is possible

drush pm-disable facets

Implement Content Security Policy

all

Add CSP headers to mitigate XSS impact by restricting script execution

Add 'Content-Security-Policy' header to web server configuration

🧯 If You Can't Patch

  • Implement web application firewall (WAF) rules to block XSS payloads
  • Disable user input fields that feed into the vulnerable Facets component

🔍 How to Verify

Check if Vulnerable:

Check Facets module version in Drupal admin at /admin/modules or run: drush pm-list | grep facets

Check Version:

drush pm-list | grep facets

Verify Fix Applied:

Verify Facets module version is 2.0.9 or higher and test input fields for proper sanitization

📡 Detection & Monitoring

Log Indicators:

  • Unusual JavaScript payloads in request logs
  • Multiple failed XSS attempts in web server logs
  • Suspicious characters in Facets-related parameters

Network Indicators:

  • HTTP requests containing script tags or JavaScript in Facets parameters
  • Unexpected redirects from Facets pages

SIEM Query:

web_server_logs WHERE (url LIKE '%facets%' AND (request_body CONTAINS '<script>' OR request_body CONTAINS 'javascript:'))

🔗 References

📤 Share & Export