# JS Help Desk <= 5.0.3 - Unauthenticated Insecure Direct Object Reference to Arbitrary Ticket Reply Overwrite

- **ID:** WPSEC-2026-2534
- **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.4
- **Fixed in:** 5.0.4 (Update to 5.0.4 or later.)
- **Severity:** Medium 5.3 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N)
- **Weakness:** CWE-639
- **Usage among sites WPSec scans:** plugin Low, affected versions Low (as of 2026-11-05)
- **Attack surface analysis:** https://attacksurface.wpsec.com/plugin/js-support-ticket
- **Fix released:** 2026-11-04
- **Published:** 2026-11-05
- **URL:** https://wpsec.com/vuln/WPSEC-2026-2534/

## Description

The JS Help Desk – AI-Powered Support & Ticketing System plugin for WordPress is vulnerable to Insecure Direct Object Reference via the ticket reply form ('savereply' task) in all versions up to, and including, 5.0.3, due to the storeReplies() function binding a user-supplied reply 'id' and 'uid' from the request, so the reply table updates the existing row with that id instead of adding a new reply. This makes it possible for unauthenticated attackers who hold a guest ticket of their own (and logged-in customers) to overwrite any other user's ticket reply, move it onto their own ticket, and name any user as its author.

## References

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

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

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.
