CVE-2026-14928 Overview
CVE-2026-14928 affects the JS Help Desk WordPress plugin in versions prior to 3.1.4. The plugin exposes support-ticket contents through a nonce-gated search handler that omits authorization and ownership checks. Any authenticated user with Subscriber-level access or higher can read the subject and full message body of tickets belonging to other users. The flaw is categorized as an information exposure issue [CWE-200] and stems from broken access control in the ticket-retrieval logic. Because support tickets frequently contain sensitive customer data, credentials, or internal business details, the disclosure impacts confidentiality across the entire ticketing surface.
Critical Impact
Authenticated users at Subscriber level and above can read every other user's support-ticket subjects and full message bodies, exposing sensitive help-desk correspondence site-wide.
Affected Products
- JS Help Desk WordPress plugin versions prior to 3.1.4
- WordPress sites with Subscriber registration enabled and JS Help Desk installed
- Any WordPress deployment relying on JS Help Desk for private customer support communications
Discovery Timeline
- 2026-07-31 - CVE-2026-14928 published to NVD
- 2026-07-31 - Last updated in NVD database
Technical Details for CVE-2026-14928
Vulnerability Analysis
The vulnerability resides in a search handler exposed by the JS Help Desk plugin. The handler is protected by a WordPress nonce, which validates the request origin but does not enforce authorization. Any authenticated user can obtain a valid nonce from the plugin's front-end interface and then issue search queries that return ticket data belonging to other users.
The underlying weakness is a missing ownership check. The handler should confirm that the requesting user is either the ticket owner or an administrator before returning ticket subjects and message bodies. Instead, it returns matching records regardless of the requester's identity or role.
The exposed content is limited to confidentiality impact. The handler does not permit modification or deletion of ticket data, and it does not affect service availability. However, help-desk tickets often carry personally identifiable information, order details, account recovery discussions, and internal troubleshooting steps, making the disclosure meaningful for both privacy and follow-on attacks.
Root Cause
The root cause is broken access control [CWE-200]. The developers relied on nonce validation as a security boundary, but nonces confirm request intent, not user authorization. The search handler lacks a current_user_can() check or a per-record ownership comparison against the ticket's user_id field before returning results.
Attack Vector
An attacker registers a Subscriber account on any WordPress site running a vulnerable JS Help Desk version, or leverages an existing low-privileged account. After authenticating, the attacker retrieves a valid plugin nonce from a page that renders it, then submits crafted search requests to the ticket search endpoint. The server returns matching ticket subjects and full message bodies from other users' accounts. Refer to the WPScan Vulnerability Report for technical specifics.
Detection Methods for CVE-2026-14928
Indicators of Compromise
- Unexpected volume of requests to the JS Help Desk AJAX search endpoint from Subscriber-level accounts
- Search-handler responses containing ticket IDs or user identifiers that do not match the requesting session's user
- Newly registered Subscriber accounts that immediately begin invoking help-desk endpoints
Detection Strategies
- Review WordPress access logs for repeated POST requests to the plugin's admin-ajax.php search action originating from non-administrative sessions.
- Correlate authenticated session cookies with returned ticket owner identifiers to identify cross-user data access.
- Deploy web application firewall rules that flag high-frequency search queries with variable keywords from low-privilege roles.
Monitoring Recommendations
- Enable WordPress audit logging for all AJAX actions registered by JS Help Desk and retain logs for at least 90 days.
- Alert on Subscriber accounts issuing more than a defined threshold of ticket-search requests per hour.
- Monitor for new user registrations followed by immediate interaction with help-desk endpoints.
How to Mitigate CVE-2026-14928
Immediate Actions Required
- Upgrade the JS Help Desk plugin to version 3.1.4 or later on all affected WordPress installations.
- Audit existing Subscriber and low-privilege accounts and remove any that are unrecognized or inactive.
- Review help-desk ticket contents for sensitive data that may require customer notification if disclosure is suspected.
Patch Information
The vendor addressed CVE-2026-14928 in JS Help Desk version 3.1.4 by adding ownership and authorization checks to the ticket search handler. Administrators should apply the update through the WordPress plugin manager or by downloading the latest release from the plugin repository. Confirm the installed version reads 3.1.4 or higher after the upgrade.
Workarounds
- Temporarily disable the JS Help Desk plugin until the upgrade to 3.1.4 can be applied.
- Restrict new user registration on the affected WordPress site to prevent unauthenticated attackers from gaining Subscriber accounts.
- Place the help-desk endpoints behind an authenticated reverse proxy or IP allow-list that limits access to trusted users.
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

