CVE-2026-17581: WCPOS <= 1.9.14 - Authenticated (Shop Manager+) Code Injection via 'thermal' Template Engine
The WCPOS – Point of Sale (POS) plugin for WooCommerce plugin for WordPress is vulnerable to Code Injection via the 'thermal' Template Engine in all versions up to, and including, 1.9.14 due to the ReceiptRendererFactory dispatching templates with the 'thermal' engine to the LegacyPhpRenderer instead of a safe thermal-specific renderer. This makes it possible for authenticated attackers, with Shop Manager-level access and above, to inject arbitrary PHP code into a template post that is subsequently written to a temporary file and executed via PHP's include(), resulting in remote code execution on the server. This requires the attacker to have Shop Manager-level access or above, as the template save path enforces a wcpostemplatesettings nonce and the managewoocommercepos capability check.
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2026-17581?
CVE-2026-17581 has a severity rating of high at 7.2.
How do I fix CVE-2026-17581?
To fix CVE-2026-17581, update the WCPOS plugin for WooCommerce to version 1.9.15 or later.
What is CVE-2026-17581?
CVE-2026-17581 is a code injection vulnerability in the WCPOS plugin for WooCommerce that affects versions up to 1.9.14.
Who is affected by CVE-2026-17581?
Users of the WCPOS plugin for WooCommerce on WordPress who are running versions 1.9.14 or earlier are affected by this vulnerability.
What type of vulnerability is CVE-2026-17581 classified as?
CVE-2026-17581 is classified as a code injection vulnerability.