---
id: CVE-2026-110664
title: >-
  Premium Packages <= 7.2.8 - Authenticated (Subscriber+) Stored Cross-Site
  Scripting via Order Notes
summary: >-
  The Premium Packages – Sell Digital Products Securely plugin for WordPress is
  vulnerable to Stored Cross-Site Scripting via the 'note' parameter in all
  versions up to, and including, 7.2.8 due to insufficient input sanitization
  and outpu…
severity: medium
cvss: 6.4
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N'
cvssSource: cna
cwe:
  - CWE-79
vendor: codename065
product: Premium Packages – Sell Digital Products Securely
affected:
  - premium_packages_sell_digital_products_securely <= 7.2.8
published: '2026-10-16'
updated: '2026-10-16'
sourceUpdated: '2026-10-16T06:41:00.954Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-110664'
references:
  - url: >-
      https://www.wordfence.com/threat-intel/vulnerabilities/id/20042ecf-a8fd-4b36-80d9-d338c8795433?source=cve
  - url: >-
      https://plugins.trac.wordpress.org/browser/wpdm-premium-packages/tags/7.2.8/src/Admin/Order/views/order-notes.php#L28
  - url: >-
      https://plugins.trac.wordpress.org/browser/wpdm-premium-packages/tags/7.2.8/src/Api/Endpoints/OrderEndpoint.php#L501
  - url: >-
      https://plugins.trac.wordpress.org/browser/wpdm-premium-packages/tags/7.2.8/src/Api/Endpoints/OrderEndpoint.php#L101
  - url: >-
      https://plugins.trac.wordpress.org/browser/wpdm-premium-packages/tags/7.2.8/src/Order/OrderService.php#L700
  - url: 'https://plugins.trac.wordpress.org/browser/wpdm-premium-packages/'
  - url: >-
      https://plugins.trac.wordpress.org/changeset/3747528/wpdm-premium-packages/trunk/src/Admin/Order/views/order-notes.php
tags:
  - cve.org
ingestedAt: '2026-10-16T07:01:11.482Z'
---

## Overview

The Premium Packages – Sell Digital Products Securely plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'note' parameter in all versions up to, and including, 7.2.8 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with subscriber-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. The exploit bypasses tag-based filtering because the payload is stored as a hex-escaped sequence (e.g., \x3cimg onerror=...\x3e) that sanitize_textarea_field does not strip, and is only decoded back into a live HTML tag by stripcslashes() during admin rendering — after all sanitization has occurred.

## Affected

- `premium_packages_sell_digital_products_securely <= 7.2.8`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
