WCPOS <= 1.9.14 - Authenticated (Shop Manager+) Code Injection via 'thermal' Template Engine
Key facts
- Attack vector
- Network
- Privileges required
- High
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- No fix listed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-94.
Summary
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 Receipt_Renderer_Factory dispatching templates with the 'thermal' engine to the Legacy_Php_Renderer 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 wcpos_template_settings nonce and the manage_woocommerce_pos capability check.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
No fixed version listed by the sources yet.
Timeline
- 2026-10-02 Threatist record created from CVE-2026-17581
- 2026-10-03 Alias added: GHSA-fq4g-jqvq-wx5r
References
Other 12
- https://www.wordfence.com/threat-intel/vulnerabilities/id/cf3efda0-8609-4a75-a00b-735b49ef260b?source=cve
- https://plugins.trac.wordpress.org/browser/woocommerce-pos/tags/1.9.10/includes/Services/Receipt_Renderer_Factory.php#L25
- https://plugins.trac.wordpress.org/browser/woocommerce-pos/tags/1.9.11/includes/Templates/Renderers/Legacy_Php_Renderer.php#L42
- https://plugins.trac.wordpress.org/browser/woocommerce-pos/tags/1.9.11/includes/Services/Receipt_Renderer_Factory.php#L25
- https://plugins.trac.wordpress.org/browser/woocommerce-pos/tags/1.9.11/includes/Admin/Templates/Single_Template.php#L456
- https://plugins.trac.wordpress.org/browser/woocommerce-pos/tags/1.9.11/includes/Templates.php#L238
- https://plugins.trac.wordpress.org/browser/woocommerce-pos/tags/1.9.11/includes/Templates/Receipt.php#L251
- https://plugins.trac.wordpress.org/browser/woocommerce-pos/tags/1.9.10/includes/Templates/Renderers/Legacy_Php_Renderer.php#L42
- https://plugins.trac.wordpress.org/browser/woocommerce-pos/tags/1.9.10/includes/Admin/Templates/Single_Template.php#L456
- https://plugins.trac.wordpress.org/browser/woocommerce-pos/tags/1.9.10/includes/Templates.php#L238
- https://plugins.trac.wordpress.org/browser/woocommerce-pos/tags/1.9.10/includes/Templates/Receipt.php#L251
- https://plugins.trac.wordpress.org/changeset?reponame=&old=3634267%40woocommerce-pos&new=3634267%40woocommerce-pos
More kilbot vulnerabilities
- TI-2026-33119 Malware in 42 @tanstack/* packages exfiltrates cloud credentials, GitHub tokens, and SSH keys KEVCVSS 3.1CRITICAL 9.6
- TI-2026-37833 WordPress WooCommerce POS plugin <= 1.8.14 - Broken Access Control vulnerability CVSS 3.1HIGH 7.5
- TI-2026-13457 WCPOS <= 1.9.8 - Authenticated (Shop Manager+) Path Traversal to Arbitrary File Read via 'type' Parameter CVSS 3.1MEDIUM 6.5
- TI-2025-30487 WordPress WooCommerce POS plugin <= 1.7.8 - Broken Access Control Vulnerability CVSS 3.1MEDIUM 5.3
- TI-2024-02215 Insufficient verification of data authenticity in kilbot WCPOS – Point of Sale plugin for… CVSS 3.1MEDIUM 4.3
Sources
- CVE-2026-17581 · CVE Program
- CVE-2026-17581 · NVD
- FIRST EPSS
- GHSA-fq4g-jqvq-wx5r · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences