CVE-2026-93746: WebToffee WooCommerce PDF Invoices, Packing Slips, Delivery Notes & Shipping Labels <= 5.0.2 - Insecure Direct Object Reference to Unauthenticated Unauthorized Order Document Access via 'email' Parameter
The WebToffee WooCommerce PDF Invoices, Packing Slips, Delivery Notes & Shipping Labels plugin for WordPress is vulnerable to Insecure Direct Object Reference in versions up to, and including, 5.0.2 via the 'email' parameter of the guest printdocumentfromthemaillink handler dispatched from printwindow() on init. This is due to the handler authorizing access to an order's printable documents when the attacker-supplied (base64-encoded) 'email' equals the order's billing email — a non-secret identifier — instead of requiring the WooCommerce orderkey. This makes it possible for unauthenticated attackers, when the site is configured to allow guest access to documents ('wtpklistprintbuttonaccessfor' != 'loggedin'), to retrieve any other customer's invoice, packing slip, delivery note, dispatch label or shipping label — including customer name, billing/shipping address, phone number, purchased products, prices, taxes and invoice metadata — by knowing the target order ID and the associated billing email address.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Configuration
Set wt_pklist_print_button_access_for to logged_in to disable guest access to printable order documents.
WebToffee WooCommerce PDF Invoices, Packing Slips, Delivery Notes & Shipping Labels wt_pklist_print_button_access_for = logged_in
Event History
Frequently Asked Questions
Which sites are exposed to unauthenticated document retrieval?
Sites using an affected version through 5.0.2 are exposed when guest access to documents is enabled, meaning wt_pklist_print_button_access_for is not set to logged_in. Sites that require logged-in access do not meet the stated guest-access condition.
What information must an attacker have to retrieve another customer's documents?
The attacker needs the target order ID and the billing email address associated with that order. The email is supplied in base64-encoded form, but the underlying billing email is treated as authorization rather than a WooCommerce order_key.
What data could be disclosed through successful exploitation?
An attacker can retrieve invoices, packing slips, delivery notes, dispatch labels, or shipping labels. These may expose customer names, billing and shipping addresses, phone numbers, purchased products, prices, taxes, and invoice metadata.
What configuration change can reduce exposure if patching is not immediately possible?
Disable guest access to order documents by configuring wt_pklist_print_button_access_for as logged_in. This removes the guest-access condition described for unauthenticated exploitation.