CVE DatabaseCVE-2026-109220
한국어 권고문 →
CVE-2026-1092209.8/CRITICALCWE-502

WooCommerce PDF Invoice Plugin PHP Object Injection and Remote Code Execution (RCE) Vulnerability (CVE-2026-109220)

⚡ Jump to Patch
Affected Vendors
wordpress, woocommerce
Affected Components
pdf-invoice-for-woocommerce-drag-and-drop-template-builder
Published Date
2026-10-31
CVSS v3.1
9.8
CRITICAL
EPSS (30d)
0.5%
FIRST.org
CISA KEV
Not Listed

Executive & SecOps Summary

SECOPS ASSESSMENT
Affected Scope

PDF Invoice for WooCommerce + Drag and Drop Template Builder plugin versions up to, and including, 7.1.1

Impact

Unauthenticated remote attackers can execute arbitrary PHP code on the server and fully compromise the system via malicious payload injection

Mitigation

Immediately upgrade the plugin to the patched version (7.2.0 or higher) and apply input validation filters on checkout API requests

Affected Products & Version Scope

All versions of PDF Invoice for WooCommerce + Drag and Drop Template Builder up to and including 7.1.1

Remediation & Live Workaround Commands

PATCH & WORKAROUND

1. Official Patch & Version Upgrade Commands

The recommended remediation is to upgrade the plugin to version 7.2.0 or later. This can be performed via WP-CLI in your terminal environment.

bash
# Upgrade the vulnerable WordPress plugin using WP-CLI
wp plugin update pdf-for-woocommerce --version=7.2.0 --allow-root

2. Temporary Workaround & Hardening Configuration

If an immediate upgrade is not feasible, implement a temporary filter in your active theme's 'functions.php' file to block serialized PHP objects in the checkout notes.

php
// Add to functions.php to sanitize and block serialized payloads in customer notes
add_filter('woocommerce_store_api_checkout_update_order_meta', function($order) {
    $customer_note = $order->get_customer_note();
    if (preg_match('/[Oa]:\d+:/i', $customer_note)) {
        wp_die('Access Denied: Suspicious payload detected.', 'Security Alert', array('response' => 400));
    }
}, 10, 1);

3. Log Audit & IoC Verification Commands

Scan your web server access logs to identify potential exploitation attempts targeting the WooCommerce Store API checkout endpoint.

bash
# Scan access logs for suspicious Store API checkout requests containing serialized PHP objects
grep -i 'POST /wc/store/v1/checkout' /var/log/nginx/access.log | grep -E '(O:[0-9]+|unserialize)'
Interactive SecOps Remediation Checklist
0/4 (0%)
Recommended Security Control & Mitigation Partner
Cloudflare Enterprise & Pro WAF
To secure your WordPress environment, immediately update the WooCommerce PDF Invoice plugin to version 7.2.0 or higher.

Block Exploits Instantly with Managed Virtual Patching Rules

Can't patch production immediately? Deploy managed WAF rules at the edge to intercept RCE, SQLi, and deserialization payloads before they hit your origin server.

3-min setup · Automated Zero-Day Managed Rules
Practice Exploiting & Patching This Web Vulnerability in an Interactive Lab
Launch Hands-On Security Lab

Technical Root Cause & Exploitation Mechanics

1. Vulnerability Overview & Root Cause

This vulnerability is a critical PHP Object Injection (CWE-502) in the 'PDF Invoice for WooCommerce + Drag and Drop Template Builder' plugin for WordPress. The root cause lies in the insufficient sanitization of the 'customer_note' checkout field. The user-supplied input is embedded verbatim into the invoice HTML, decoded back into live tags by 'simplehtmldom', reassembled into raw bytes by 'mPDF', and eventually passed to the PHP 'unserialize()' function within '_getObjAttr' without any validation.

2. Exploitation Mechanics & Attack Scenario

An unauthenticated attacker can exploit this vulnerability on a default installation by placing an anonymous order via the public WooCommerce Store API (POST /wc/store/v1/checkout). By selecting 'Direct Bank Transfer' or 'Cheque' as the payment method, the order status automatically transitions to 'on-hold', which triggers the plugin's invoice-generation hook. The attacker injects a serialized PHP object payload into the 'customer_note' parameter, which is processed and unserialized, leading to Remote Code Execution (RCE) via available POP chains.

3. Infrastructure & Business Impact

With a CVSS score of 9.8 (Critical), this vulnerability poses an extreme risk. Successful exploitation allows complete takeover of the underlying web server without authentication. This can lead to unauthorized access to sensitive customer data, database compromise, deployment of web shells for persistent access, or lateral movement within the cloud infrastructure.

Official Vendor Advisories & References

NVD Original English Description

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.

Frequently Asked SecOps Questions (CVE-2026-109220)

FAQ

Q1. How critical is CVE-2026-109220 and is it actively exploited in the wild?

CVE-2026-109220 is rated CVSS 9.8 (CRITICAL) with a 30-day EPSS exploitation probability of 0.5%. Organizations running affected versions should prioritize patching based on network exposure.

Q2. Which vendors and products are affected by CVE-2026-109220?

Primary impacted vendors include wordpress, woocommerce across pdf-invoice-for-woocommerce-drag-and-drop-template-builder. Scope summary: All versions of PDF Invoice for WooCommerce + Drag and Drop Template Builder up to and including 7.1.1

Q3. What temporary mitigations or workarounds exist for CVE-2026-109220 before patching?

[Mitigation] Immediately upgrade the plugin to the patched version (7.2.0 or higher) and apply input validation filters on checkout API requests Follow the CLI remediation commands and interactive SecOps checklist on this page to restrict exposure prior to your maintenance window.

SECOPS WORKBENCH INTEGRATION

Generate an Internal Engineering Notice or CISO Report for CVE-2026-109220

Instantly format this advisory into an executive CISO summary or engineering patch ticket.

Generate Report →

🔗 Related Advisories in Similar Stack (wordpress)

View Category →
SecOps Advisory Dispatch & RSS Feed

Subscribe to Daily Vulnerability Briefings & KEV Alerts

Concise morning briefings for SecOps, DevSecOps, and SRE teams covering newly exploited CVEs and mitigation priorities.

Slack / Teams / RSS Feed:
PatchKO
CVE-2026-109220 WooCommerce PDF Invoice Plugin PHP Object Injection and Remote Code Execution (RCE) Vulnerability (CVE-2026-109220) (CVSS 9.8) - Patch & Workaround | CVE Pulse