# JS Help Desk – AI-Powered Support & Ticketing System <= 5.0.5 - Unauthenticated Stored Cross-Site Scripting via Ticket Message Image Viewer Links

- **ID:** WPSEC-2026-3021
- **Plugin:** JS Help Desk – AI-Powered Support & Ticketing System (`js-support-ticket`), https://wordpress.org/plugins/js-support-ticket/
- **Affected versions:** all versions before 5.0.6
- **Fixed in:** 5.0.6 (Update to 5.0.6 or later.)
- **Severity:** Medium 6.1 (CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N)
- **Weakness:** CWE-79
- **Usage among sites WPSec scans:** plugin Low, affected versions Low (as of 2026-11-13)
- **Attack surface analysis:** https://attacksurface.wpsec.com/plugin/js-support-ticket
- **Fix released:** 2026-11-12
- **Published:** 2026-11-13
- **URL:** https://wpsec.com/vuln/WPSEC-2026-3021/

## Description

The JS Help Desk – AI-Powered Support & Ticketing System plugin for WordPress is vulnerable to Stored Cross-Site Scripting via links in ticket messages, replies and notes in all versions up to, and including, 5.0.5, due to the bundled image viewer (venobox.js) building its content with content.html('<img src="'+dest+'">') from a link's href or data-href, and insufficient removal of the viewer's data-vbtype/data-href markers and gallery items from user-written content (entity-encoded replies are decoded before output, and only double-quoted data-vbtype was stripped on save). This makes it possible for unauthenticated attackers who can submit tickets or replies to inject arbitrary web scripts that execute when an administrator, agent or customer opens the crafted link in the ticket's image viewer.

## References

- https://wpsec.com/vuln/WPSEC-2026-3021/
- https://plugins.svn.wordpress.org/js-support-ticket/tags/5.0.6/
- https://wordpress.org/plugins/js-support-ticket/

Source: WPSec, https://wpsec.com/vuln/WPSEC-2026-3021/

License: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Free to use, share and adapt, also commercially, if you credit WPSec and link to this advisory.
