Premium Packages – Sell Digital Products Securely Plugin Vulnerability (CVE-2026-93654)

On this page

Security Alert Summary

The Premium Packages – Sell Digital Products Securely plugin for WordPress contains a stored Cross-Site Scripting (XSS) vulnerability in the cart_items[][product_name] parameter. Insufficient input sanitization and output escaping allow unauthenticated attackers to persist script payloads. The checkout REST route uses a permission_callback that always returns true and the invoice loader does not check order ownership, enabling an attacker to store payloads that will execute when a logged-in user views the invoice.


CVE Details

  • CVE ID: CVE-2026-93654
  • Affected component: Premium Packages – Sell Digital Products Securely WordPress plugin
  • Affected versions: All versions up to and including 7.2.1
  • Published: September 25, 2026 at 08:16:41 AM UTC
  • Last modified: September 25, 2026 at 01:08:08 PM UTC
  • CVSS v3.1: Base Score 7.2, Severity HIGH, Vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
  • Authentication / privileges / user interaction: None required (Network attack, No privileges required, No user interaction)
  • Impact (C/I/A): Confidentiality: Low; Integrity: Low; Availability: None
  • CWE: CWE-79 (Cross-site Scripting)

Technical Details

The vulnerability is a stored XSS resulting from insufficient input sanitization and output escaping of the cart_items[][product_name] parameter. The checkout REST route permits unauthenticated requests because its permission_callback is set to __return_true, allowing attackers to persist crafted payloads via the REST endpoint. Separately, the invoice loader does not verify order ownership before rendering invoice content, so a stored payload can be displayed to any logged-in user who opens the invoice.

Relevant code paths referenced in the advisory include cart handling and invoice template files where the product name value is processed and output. The root cause is missing input validation and missing authorization checks in the request processing and invoice rendering routines.

The practical impact is execution of attacker-supplied scripts in the context of a user viewing an injected invoice or page. This may expose data visible to that user or permit actions available to that user within their session, limited to the privileges of the affected user.


How This Could Impact Your Website

In a typical site environment, an unauthenticated attacker could submit a crafted cart_items[][product_name] value that gets stored and later rendered on an invoice. If internal staff, administrators, or external contractors view that invoice while logged in, the injected script could run in their browser. This may expose user-visible data such as internal names or email addresses and increase the risk of targeted phishing or social engineering against staff or contractors.

If you’re unsure whether your site is affected or how to assess your current user roles and plugins, it may be worth having a professional review.


Recommended Actions

  • Update the affected plugin as soon as a patched version is available.
  • Review and reduce unnecessary user roles and capabilities, especially for contributors and other low-trust roles.
  • Enforce strong passwords and enable two-factor authentication for editors and administrators.
  • Remove unused or unmaintained plugins from your site.
  • Monitor site and user activity logs for unusual behavior, including unexpected invoice views or malformed cart submissions.

If you’d like help reviewing your plugins, user roles, or overall WordPress security posture, our team at Freshy is happy to help.


References