{"id":"CVE-2026-107750","kind":"vulnerability","aliases":["CVE-2026-107750"],"related":[],"title":"WooCommerce PDF Invoices plugin: stored XSS via billing fields","description":"The PDF Invoices & Packing Slips for WooCommerce plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'billing_address.first_name / last_name / company, customer_note' parameter in all versions up to, and including, 5.16.4 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. This is an incomplete fix for CVE-2026-92244: the wp_kses() allow-list introduced in 5.16.2 correctly blocks raw-tag payloads but is bypassed by entity-encoded payloads (e.g., &lt;img onerror=…&gt;) that contain no literal angle-bracket characters and are therefore passed through unmodified before the trailing decode rematerializes them.","summary":"The PDF Invoices & Packing Slips for WooCommerce WordPress plugin up to and including 5.16.4 fails to sanitize billing name, company and customer note fields. An unauthenticated attacker can submit entity-encoded script payloads that render and run in the browser of anyone who opens the affected page.","severity":"high","cvss":7.2,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["package","pdf-invoices-packing-slips","woocommerce","wordpress"],"not_affected_if":["newer-version","plugin-not-installed"],"how_to_check":"- Check the installed version of the PDF Invoices & Packing Slips for WooCommerce plugin in the WordPress plugins list and compare it to `5.16.4`\n- Look for the plugin's version header in `wp-content/plugins/` (unknown whether a specific file is the source of truth)","fix":"- PDF Invoices & Packing Slips for WooCommerce: a version newer than `5.16.4` (the exact fixed version is unknown)","status":"open","published_at":"2026-10-31T07:16:33+00:00","first_seen_at":"2026-10-31T07:34:06+00:00","triaged_at":"2026-10-31T07:34:37+00:00","updated_at":"2026-10-31T07:34:37+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-10-31T07:34:37Z","model":"claude-haiku-5-5","output":{"fix":"- PDF Invoices & Packing Slips for WooCommerce: a version newer than `5.16.4` (the exact fixed version is unknown)","reach":"internet","title":"WooCommerce PDF Invoices plugin: stored XSS via billing fields","impact":"medium","summary":"The PDF Invoices & Packing Slips for WooCommerce WordPress plugin up to and including 5.16.4 fails to sanitize billing name, company and customer note fields. An unauthenticated attacker can submit entity-encoded script payloads that render and run in the browser of anyone who opens the affected page.","audience":"businesses","category":"package","nicknames":[],"who_cares":["wordpress","woocommerce","pdf-invoices-packing-slips"],"confidence":0.7,"fix_status":"unknown","needs_auth":"no","worst_case":"Attacker script runs in a logged-in user's browser session","analyst_note":"Confirm the fixed version and the vendor advisory for CVE-2026-107750; sources give no fixed version and the NVD entry lists no products.","how_to_check":"- Check the installed version of the PDF Invoices & Packing Slips for WooCommerce plugin in the WordPress plugins list and compare it to `5.16.4`\n- Look for the plugin's version header in `wp-content/plugins/` (unknown whether a specific file is the source of truth)","plain_action":"","needs_analyst":true,"not_affected_if":["plugin-not-installed","newer-version"],"who_is_affected":"Sites running the PDF Invoices & Packing Slips for WooCommerce plugin version 5.16.4 or older, where customer billing details or order notes are shown on pages or in admin views. Sites without the plugin, or running a newer version, are not affected by this record. Whether a particular page is reachable by visitors depends on the site's order and checkout flow, which the sources do not describe.","user_interaction":"yes","needs_special_setup":"unknown","severity_if_unknown":"high"},"cost_usd":0.000776,"input_tokens":4329,"output_tokens":686,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-107750':12A,15A '-2026':11A,14A,147C '-92244':148C '5.16.2':157C '5.16.4':37B,107C 'access':136C 'affect':70B 'allow':153C 'allow-list':152C 'angl':180C 'angle-bracket':179C 'anyon':66B 'arbitrari':125C 'attack':50B,122C 'bill':8A,41B 'billing_address.first':92C 'block':159C 'bracket':181C 'browser':64B 'bypass':166C 'charact':182C 'compani':43B,96C 'contain':176C 'correct':158C 'cross':87C 'cross-sit':86C 'custom':45B,97C 'cve':10A,13A,146C 'decod':192C 'due':108C 'e.g':172C 'encod':55B,170C 'entiti':54B,169C 'entity-encod':53B,168C 'escap':115C 'execut':132C 'fail':38B 'field':9A,47B 'fix':144C 'img':173C 'includ':36B,106C 'incomplet':143C 'inject':124C,138C 'input':111C 'insuffici':110C 'introduc':155C 'invoic':3A,19B,26B,74C 'kses':151C 'last':94C 'list':154C 'liter':178C 'make':117C 'name':42B,93C,95C 'note':46B,98C 'onerror':174C 'open':68B 'output':114C 'pack':20B,27B,75C 'packag':16B 'page':71B,129C,139C 'paramet':99C 'pass':186C 'payload':57B,163C,171C 'pdf':2A,18B,25B,73C 'pdf-invoices-packing-slip':17B 'plugin':4A,32B,79C 'possibl':119C 'raw':161C 'raw-tag':160C 'remateri':193C 'render':59B 'run':61B 'sanit':40B,112C 'script':56B,89C,127C 'site':88C 'slip':21B,28B,76C 'store':5A,85C 'submit':52B 'tag':162C 'therefor':185C 'trail':191C 'unauthent':49B,121C 'unmodifi':188C 'user':135C 'version':102C 'via':7A,90C 'vulner':83C 'web':126C 'whenev':133C 'woocommerc':1A,22B,30B,78C 'wordpress':23B,31B,81C 'wp':150C 'xss':6A","nicknames":[],"mitigations":[],"who_affected":"Sites running the PDF Invoices & Packing Slips for WooCommerce plugin version 5.16.4 or older, where customer billing details or order notes are shown on pages or in admin views. Sites without the plugin, or running a newer version, are not affected by this record. Whether a particular page is reachable by visitors depends on the site's order and checkout flow, which the sources do not describe.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"unknown","audience":"businesses","plain_action":null,"first_public_at":"2026-10-31T07:16:33+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N","cvss_by":"security@wordfence.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-107750","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-107750","severity":null,"published_at":"2026-10-31T07:16:33+00:00","modified_at":"2026-10-31T07:16:33+00:00","first_seen_at":"2026-10-31T07:34:06+00:00","fetched_at":"2026-10-31T07:34:06+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}