Description
The WP Carousel Free plugin for WordPress is vulnerable to Stored Cross-Site Scripting via crafted fancybox `data-caption` attributes in all versions up to, and including, 2.7.10. This is due to the `fancybox-config.js` script reading the carousel container's `id` attribute directly from the DOM to construct a jQuery selector without sanitization. When a Contributor crafts an HTML block with a malformed carousel container ID (containing characters invalid for jQuery selectors), the custom fancybox configuration throws a JavaScript error and fails to initialize. This causes the bundled fancybox library (v3.5.7) to fall back to its default caption handling, which renders the `data-caption` attribute content as raw HTML. Since WordPress allows `data-*` attributes through `wp_kses_post()`, this makes it possible for authenticated attackers, with Contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user clicks an image in the crafted carousel lightbox.
Published: 2026-05-05
Score: 6.4 Medium
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The WP Carousel Free plugin allows an authenticated user with Contributor or higher privileges to craft a carousel block that contains a malformed ID for the container. The plugin’s JavaScript reads that ID directly from the DOM without sanitization, building a jQuery selector that fails and causes FancyBox v3.5.7 to fall back to its default caption handling. Because WordPress permits data‑attributes through wp_kses_post(), the raw HTML supplied in the data-caption attribute is rendered unescaped when a user opens an image in the lightbox, allowing the attacker to inject and execute arbitrary scripts. This stored Cross‑Site Script defect can compromise the confidentiality and integrity of the website from the perspective of any visitor who interacts with the compromised carousel.

Affected Systems

Users running WP Carousel Free (Carousel, Slider, Photo Gallery with Lightbox, Video Slider) by WP Carousel on WordPress sites with any version up to and including 2.7.10 are affected. Updated releases beyond 2.7.10 are presumed fixed.

Risk and Exploitability

The vulnerability has a CVSS score of 6.4, indicating a moderate level of risk. EPSS data is unavailable, so the likelihood of exploitation cannot be quantified from the available metrics, but the weakness is not listed in the CISA KEV catalog. Attackers must possess at least Contributor role access and the ability to edit or add content to trigger the flaw. Successful exploitation results in arbitrary JavaScript execution in the context of the site’s front‑end whenever a user clicks a carousel image, potentially leading to data theft or session hijacking.

Generated by OpenCVE AI on May 5, 2026 at 05:50 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade WP Carousel Free to the latest version (≥ 2.7.11) to eliminate the stored XSS flaw.
  • Revoke Contributor privileges or restrict the ability to edit content that contains carousels, limiting the attack surface for authenticated users.
  • Search and sanitize existing carousel items: scan posts/pages for data‑caption attributes and remove or escape any suspicious content before publishing.

Generated by OpenCVE AI on May 5, 2026 at 05:50 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 05 May 2026 04:00:00 +0000

Type Values Removed Values Added
Description The WP Carousel Free plugin for WordPress is vulnerable to Stored Cross-Site Scripting via crafted fancybox `data-caption` attributes in all versions up to, and including, 2.7.10. This is due to the `fancybox-config.js` script reading the carousel container's `id` attribute directly from the DOM to construct a jQuery selector without sanitization. When a Contributor crafts an HTML block with a malformed carousel container ID (containing characters invalid for jQuery selectors), the custom fancybox configuration throws a JavaScript error and fails to initialize. This causes the bundled fancybox library (v3.5.7) to fall back to its default caption handling, which renders the `data-caption` attribute content as raw HTML. Since WordPress allows `data-*` attributes through `wp_kses_post()`, this makes it possible for authenticated attackers, with Contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user clicks an image in the crafted carousel lightbox.
Title WP Carousel Free <= 2.7.10 - Authenticated (Contributor+) Stored Cross-Site Scripting via 'data-caption' Attribute
Weaknesses CWE-79
References
Metrics cvssV3_1

{'score': 6.4, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: Wordfence

Published:

Updated: 2026-05-05T03:37:39.054Z

Reserved: 2026-03-23T17:12:42.424Z

Link: CVE-2026-4665

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-05-05T04:16:17.687

Modified: 2026-05-05T04:16:17.687

Link: CVE-2026-4665

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-05-05T06:00:10Z

Weaknesses