PDF Invoice for WooCommerce: Unauthenticated PHP Object Injection
Summary
The PDF Invoice for WooCommerce + Drag and Drop Template Builder plugin for WordPress, in all versions up to and including 7.1.1, does not sufficiently sanitize the customer_note checkout field. Its content reaches unserialize() without validation, which enables PHP Object Injection. An unauthenticated attacker can place a checkout via the public WooCommerce Store API with Direct Bank Transfer or cheque payment, which can lead to remote code execution on the server. NVD and the CVE record give a CVSS base score of 9.8; VulDB lists 7.3.
Affected
- PDF Invoice for WooCommerce + Drag and Drop Template Builder (slug pdf-for-woocommerce), all versions up to and including 7.1.1
Fixed in
- Version 7.2.0 according to the WordPress.org changelog ("Fixed: Security"). Not confirmed by a vendor advisory.
Workaround
- No vendor guidance found.
- Deactivate the plugin, or disable invoice generation for Direct Bank Transfer and cheque orders, until the update is installed.
- Review recent orders for unusual customer_note content.
Exploitation
- Not known to be exploited in the wild according to the research sources.
- No public proof of concept found; this does not prove that none exists.
- Not listed in CISA KEV in the sources reviewed; verify on cisa.gov.
Our recommendation
- Update to version 7.2.0 or later and verify the installed version.
- Until then, deactivate the plugin or disable invoice generation for affected payment methods.
- Check shop logs and recent orders for suspicious customer_note entries, and review exposure of public WooCommerce shops.
Public exploits
PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.
Research sources
- Wordfence vulnerability record www.wordfence.com
- WordPress.org plugin page and changelog wordpress.org
- Plugin 7.2.0 download package downloads.wordpress.org
- Vulnerable code: frontend/index.php in 7.1.1 plugins.trac.wordpress.org
- Vulnerable code: libs/HtmlNode.php in 7.1.1 plugins.trac.wordpress.org
- OffSeq threat radar entry radar.offseq.com
- VulDB entry vuldb.com
Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 31 Oct 2026, 08:20.
Original description (NVD)
The PDF Invoice for WooCommerce + Drag and Drop Template Builder plugin for WordPress is vulnerable to PHP Object Injection in all versions up to, and including, 7.1.1 via the 'customer_note' parameter parameter. This is due to insufficient sanitization of the customer_note checkout field, which is inlined verbatim into invoice HTML, entity-decoded back into a live tag by simplehtmldom, reassembled into raw bytes by mPDF, and passed to unserialize() in _getObjAttr without validation. This makes it possible for unauthenticated attackers to execute code on the server. An unauthenticated attacker can trigger the vulnerable code path on a default install by placing an anonymous WooCommerce checkout via the public Store API (POST /wc/store/v1/checkout) using a Direct Bank Transfer or cheque payment method, which automatically transitions the order to 'on-hold' status and fires the plugin's invoice-generation hook.
NVD references (8)
- https://downloads.wordpress.org/plugin/pdf-for-woocommerce.7.2.0.zip
- https://plugins.trac.wordpress.org/browser/pdf-for-woocommerce/tags/7.1.1/frontend/index.php#L378
- https://plugins.trac.wordpress.org/browser/pdf-for-woocommerce/tags/7.1.1/libs/HtmlDocument.php#L300
- https://plugins.trac.wordpress.org/browser/pdf-for-woocommerce/tags/7.1.1/libs/HtmlNode.php#L1266
- https://plugins.trac.wordpress.org/browser/pdf-for-woocommerce/tags/7.1.1/vendor/mpdf/mpdf/src/Mpdf.php#L9105
- https://plugins.trac.wordpress.org/browser/pdf-for-woocommerce/tags/7.1.1/woocommerce/emails/index.php#L70
- https://plugins.trac.wordpress.org/browser/pdf-for-woocommerce/tags/7.1.1/woocommerce/shortcodes.php#L708
- https://www.wordfence.com/threat-intel/vulnerabilities/id/1bc3529c-6161-4b89-8a35-c3a9b7b8c308?source=cve
Sources
The tracker combines official, freely usable data sources – updated continuously:
- NVD (NIST) – CVEs, rating (CVSS), affected products
- CISA KEV – vulnerabilities confirmed by CISA as actively exploited
- CISA Vulnrichment – CISA assessment (SSVC) in the official CVE record
- FIRST EPSS – probability of exploitation
- Microsoft MSRC – Patch Tuesday: vulnerabilities, severity, updates
- PoC-in-GitHub – public proof-of-concept repositories
- Metasploit (Rapid7) – modules of the Metasploit Framework
- Exploit-DB (OffSec) – archive of public exploits (links only)
- Patch days: official vendor pages (linked per vendor) (Vendor patch days)
This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.
Affected? We can help.
We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.
