Description
The PDF Invoices & Packing Slips for WooCommerce plugin for WordPress is vulnerable to Stored Cross-Site Scripting via Billing First Name / Last Name / Company Fields in all versions up to, and including, 5.16.1 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. The payload survives initial storage because WooCommerce's sanitize_text_field() and wc_clean() do not strip entity-encoded strings containing no literal '<' character, allowing unauthenticated guest-checkout orders to plant the malicious content.
References6
- plugins.trac.wordpress.org/browser/woocommerce-pdf-invoices-pac…
- plugins.trac.wordpress.org/browser/woocommerce-pdf-invoices-pac…
- plugins.trac.wordpress.org/browser/woocommerce-pdf-invoices-pac…
- plugins.trac.wordpress.org/browser/woocommerce-pdf-invoices-pac…
- plugins.trac.wordpress.org/changeset?reponame=&new=3707106%40wo…
- www.wordfence.com/threat-intel/vulnerabilities/id/2ec3bd67-6e4b…
Metrics
- CVSS 3.1
-
7.2
HIGH
Score source: CNA
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N - EPSS — exploit probability
- 0% percentile: 21 · as of 10 November 2026
- CWE
- CWE-79
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.