Security Alert Summary
The WebToffee WooCommerce PDF Invoices, Packing Slips, Delivery Notes & Shipping Labels plugin contains a directory traversal vulnerability in the get_image_src_in_base64 function. Authenticated users with subscriber-level access or higher can read arbitrary files on the server. The plugin embeds base64-encoded file contents into cached invoice HTML and serves them via its Print/Download invoice endpoints when a valid nonce and access key are provided.
CVE Details
- CVE ID:
CVE-2026-18027 - Affected component: WebToffee WooCommerce PDF Invoices, Packing Slips, Delivery Notes & Shipping Labels plugin for WordPress
- Affected versions: All versions up to and including 4.9.8
- Published: August 23, 2026 at 12:16:50 AM
- Last modified: August 23, 2026 at 12:16:50 AM
- CVSS v3.1: Base Score 6.5 (MEDIUM) —
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N - Authentication / privileges / user interaction: Requires authenticated user privileges (PR: LOW). User interaction is not required (UI: NONE). The description notes subscriber-level access and above is sufficient.
- Primary impact: Confidentiality: HIGH; Integrity: NONE; Availability: NONE
- Weakness: CWE-22 (Directory Traversal)
Technical Details
The vulnerability is a directory traversal issue in the plugin’s get_image_src_in_base64 function. By abusing path handling, an authenticated attacker with subscriber-level access or greater can request arbitrary files on the server. The plugin reads the targeted file, base64-encodes its contents, and embeds that data into the cached invoice HTML. Those cached invoices are then accessible through the plugin’s Print/Download invoice endpoints when a valid nonce and access key are provided, allowing the attacker to retrieve the embedded file contents via the plugin itself.
Named components and behaviors referenced in the advisory include:
- The function
get_image_src_in_base64where the traversal occurs. - The plugin’s Print/Download invoice endpoints that serve the cached invoice HTML containing embedded file data.
The direct result is unauthorized disclosure of file contents reachable by the web server’s file system permissions. No information in the advisory indicates modification of files or service disruption.
How This Could Impact Your Website
In a typical small business WordPress site, the site owner manages the store and several internal staff members have contributor or subscriber accounts, while an external contractor assists with bookkeeping. If an attacker with a subscriber account exploits this issue, they could read files that the web server can access. That could include configuration files, cached exports, or other sensitive documents containing internal email addresses, API keys, or business data.
Practical consequences include increased exposure of internal user email addresses and higher risk of targeted phishing or social engineering against staff or contractors. The vulnerability does not, based on the provided data, indicate direct file modification or site takeover, but it does increase confidentiality risk.
professional review If you’re unsure whether your site is affected or how to assess your current user roles and plugins, it may be worth having a professional review of your setup.
Recommended Actions
- Update the affected plugin as soon as a patched version is available.
- Review and reduce unnecessary user roles, especially subscriber and contributor accounts that may be able to access plugin features.
- Enforce strong passwords and enable two-factor authentication for editors and administrators.
- Remove unused or unmaintained plugins to reduce your attack surface.
- Monitor site activity and access logs for unusual or unexpected requests to invoice or print endpoints, and for attempts to access non-image files via the plugin.
If you’d like help reviewing your plugins, user roles, or overall WordPress security posture, our team at Freshy is happy to help.
References
- https://plugins.trac.wordpress.org/browser/print-invoices-packing-slip-labels-for-woocommerce/tags/4.9.8/admin/modules/customizer/classes/class-customizer.php#L1453
- https://plugins.trac.wordpress.org/browser/print-invoices-packing-slip-labels-for-woocommerce/tags/4.9.8/admin/modules/customizer/customizer.php#L1561
- https://plugins.trac.wordpress.org/browser/print-invoices-packing-slip-labels-for-woocommerce/tags/4.9.8/admin/modules/customizer/customizer.php#L1607
- https://plugins.trac.wordpress.org/browser/print-invoices-packing-slip-labels-for-woocommerce/tags/4.9.8/public/modules/invoice/invoice.php#L1934
- https://plugins.trac.wordpress.org/changeset/3646629/print-invoices-packing-slip-labels-for-woocommerce
- https://www.wordfence.com/threat-intel/vulnerabilities/id/a46f270f-d9cb-4bc1-8e10-3fc6646e1d78?source=cve