WP Carousel Free <= 2.7.10 - Authenticated (Contributor+) Stored Cross-Site Scripting via 'data-caption' Attribute
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Cross-site scripting
- Confidentiality · integrity · availability
- Low · Low · None
- Fix status
- No fix listed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-79.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| shapedplugin | Carousel, Slider, Photo Gallery with Lightbox, Video Slider, by WP Carousel | up to 2.7.10 | — | No fix listed | CNA |
- Carousel, Slider, Photo Gallery with Lightbox, Video Slider, by WP Carousel Vendorshapedplugin Affected up to 2.7.10 Fixed in — No fix listed CNA
Remediation
No fixed version listed by the sources yet.
Timeline
- 2026-10-02 Threatist record created from CVE-2026-4665
- 2026-10-03 Alias added: GHSA-25qx-prpj-p4hq
References
Other 4
- https://www.wordfence.com/threat-intel/vulnerabilities/id/e75815a3-2414-47f3-b0c4-e5d3e2cb369d?source=cve
- https://plugins.trac.wordpress.org/browser/wp-carousel-free/tags/2.7.10/public/js/fancybox-config.js#L3
- https://plugins.trac.wordpress.org/browser/wp-carousel-free/trunk/public/js/fancybox-config.js#L3
- https://plugins.trac.wordpress.org/changeset/3506878/wp-carousel-free/trunk/public/js/fancybox.js
More shapedplugin vulnerabilities
- TI-2024-10653 WP Tabs < 2.2.7 - Admin+ Stored XSS CVSS 3.1MEDIUM 6.1
- TI-2023-00508 Product Slider For WooCommerce Lite <= 1.1.7 - Contributor+ Stored XSS CVSS 3.1MEDIUM 5.4
- TI-2023-00344 Location Weather < 1.3.4 - Contributor+ Stored XSS CVSS 3.1MEDIUM 5.4
- TI-2023-00093 Post Grid, Post Carousel, & List Category Posts < 2.4.19 - Contributor+ Stored XSS CVSS 3.1MEDIUM 5.4
- TI-2023-00067 WP Tabs < 2.1.17 - Contributor+ Stored XSS CVSS 3.1MEDIUM 5.4
- TI-2022-04248 Real Testimonials < 2.6.0 - Contributor+ Stored XSS CVSS 3.1MEDIUM 5.4
Sources
- CVE-2026-4665 · CVE Program
- CVE-2026-4665 · NVD
- FIRST EPSS
- GHSA-25qx-prpj-p4hq · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences