Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-81160

CVE-2026-81160: Drupal Slick Carousel XSS Vulnerability

CVE-2026-81160 is a stored cross-site scripting flaw in Drupal Slick Carousel that allows attackers to inject malicious scripts into web pages. This article covers the technical details, affected versions, and mitigation strategies.

Published:

CVE-2026-81160 Overview

CVE-2026-81160 is a stored cross-site scripting (XSS) vulnerability in the Drupal Slick Carousel contributed module. The flaw stems from improper neutralization of user-supplied input during web page generation [CWE-79]. Affected versions range from 0.0.0 through 2.1.0. An attacker with permission to configure or supply carousel content can inject script payloads that execute in the browsers of users who later view the affected pages. Because the module renders content within an authenticated Drupal site context, successful exploitation can lead to session theft, forced actions, and defacement.

Critical Impact

Stored XSS enables persistent script execution against every visitor rendering the affected carousel, including privileged administrators.

Affected Products

  • Drupal Slick Carousel module versions 0.0.0 through 2.1.0
  • Drupal sites with the Slick Carousel contributed module enabled
  • Any Drupal deployment allowing untrusted users to author carousel content

Discovery Timeline

  • 2026-09-02 - CVE-2026-81160 published to NVD
  • 2026-09-02 - Last updated in NVD database

Technical Details for CVE-2026-81160

Vulnerability Analysis

The Slick Carousel module renders carousel slides using values supplied through Drupal configuration and content entities. The module fails to properly sanitize or encode attacker-controlled fields before emitting them into the rendered HTML. As a result, script content persisted in module fields is served to end users as executable markup.

Exploitation requires user interaction, since a victim must load a page that renders the malicious carousel. The scope is changed because injected script executes within the security context of the Drupal site rather than the attacker's context. Confidentiality and integrity impacts are limited to what the victim's browser session can access, including cookies, CSRF tokens, and administrative actions.

Root Cause

The root cause is missing output encoding when rendering carousel field values into the DOM. Drupal's rendering pipeline expects modules to mark strings as safe only after sanitization. The Slick Carousel module returns attacker-influenced strings without passing them through Drupal's Html::escape() or the Xss filter, allowing raw <script> and event-handler payloads to reach the browser.

Attack Vector

An authenticated user with rights to create or edit carousel slides injects a JavaScript payload into a vulnerable field. When any subsequent visitor, including administrators, loads a page containing that carousel, the browser parses and executes the payload. See the Drupal Security Advisory for advisory-level detail.

No verified proof-of-concept code has been published. The vulnerability mechanism is a standard stored XSS pattern: unsanitized field input persisted to storage and later reflected into rendered HTML.

Detection Methods for CVE-2026-81160

Indicators of Compromise

  • Carousel field values containing <script>, onerror=, onload=, or javascript: tokens in the Drupal database.
  • Unexpected outbound requests from administrator browsers immediately after viewing pages that embed a Slick Carousel block.
  • New or modified Drupal user accounts created shortly after an administrator loaded a carousel-bearing page.

Detection Strategies

  • Query the Drupal database for Slick Carousel field values containing HTML tags or JavaScript URI schemes.
  • Review web server logs for POST requests to carousel configuration endpoints from low-privilege authors.
  • Inspect rendered HTML of pages using Slick Carousel for script tags or inline event handlers sourced from field data.

Monitoring Recommendations

  • Enable Drupal watchdog logging for content edits on entities using the Slick Carousel field formatter.
  • Forward web server and Drupal logs to a centralized SIEM and alert on script-like tokens saved to carousel fields.
  • Monitor administrative session activity for anomalous API calls that follow content-viewing events.

How to Mitigate CVE-2026-81160

Immediate Actions Required

  • Upgrade the Slick Carousel module to a version later than 2.1.0 as directed by the Drupal security team.
  • Audit existing carousel content and remove any HTML or script markup present in text fields.
  • Restrict the Drupal permissions that allow creating or editing Slick Carousel entities to trusted roles only.

Patch Information

Refer to the Drupal Security Advisory SA-CONTRIB-2026-117 for the fixed release version and upgrade instructions. Apply the upgrade through Composer or the Drupal update workflow used in your environment, then clear caches to invalidate rendered pages containing the vulnerable output.

Workarounds

  • Disable the Slick Carousel module until the patched release is installed.
  • Enforce Drupal's text format filters to strip HTML from fields consumed by the carousel formatter.
  • Apply a Content Security Policy that blocks inline script execution to reduce impact if injection occurs.

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.