WCPOS <= 1.9.14 — Authenticated (Shop Manager+) Code Injection via 'thermal' Template Engine
CVE-2026-17581Published · Updated Action summary
Affected: ≤1.9.14Update to 1.9.15 or newer
All remediation steps- Severity
- High7.2
- CVSS
- 7.2CVSS 3.1 · CNA (Wordfence)
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:HWhat does this vector mean?
AV:NAttack vector- Network
AC:LAttack complexity- Low
PR:HPrivileges required- High
UI:NUser interaction- None
S:UScope- Unchanged
C:HConfidentiality- High
I:HIntegrity- High
A:HAvailability- High
- Required access
- Unknown
- Exploit prediction (EPSS)
- No score
- CISA KEV
- Not listed
On this page8
Am I affected?
WCPOS – Point of Sale (POS) plugin for WooCommerce woocommerce-pos
- Affected≤ 1.9.14
- Patched in1.9.15
Update to 1.9.15 or newer.
You are affected if you run ≤ 1.9.14. Version 1.9.15 and later are not affected by this issue.
- Check your version: in wp-admin go to Plugins → Installed Plugins and read the version under WCPOS – Point of Sale (POS) plugin for WooCommerce.
- No admin access? Run a passive check of your site. It reads public files only.
What to do
- Update to version 1.9.15, or a newer patched version
- Rotate administrator passwords and application secrets if the site ran a vulnerable version while publicly reachable.
- Watch WCPOS – Point of Sale (POS) plugin for WooCommerce to get an email when the next vulnerability is published.
Advisory
Source description from Wordfence Intelligence, credited to Wordfence PRISM.
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.
Exploits & references
Proof-of-concept & detection
No public proof-of-concept or detection template is known for this vulnerability.
Advisories & patches
- Advisorywordfence.com
Related CVEs
More in WCPOS – Point of Sale (POS) plugin for WooCommerce
All 5| Severity | Vulnerability | CVE | Published |
|---|---|---|---|
| Medium6.5 | Authenticated (Shop Manager+) Path Traversal to Arbitrary File Read via 'type' Parameter ≤1.9.8Update to 1.9.9 | CVE-2026-16078 | |
| Medium5.3 | Missing Authorization ≤1.8.14Update to 1.9.0 | CVE-2026-52711 | |
| Medium5.3 | Missing Authorization ≤1.7.8Update to 1.7.9 | CVE-2025-48117 | |
| Medium4.3 | Insufficient Verification of Data Authenticity to Authenticated (Customer+) Information Disclosure ≤1.4.11Update to 1.4.12 | CVE-2024-2384 |
- Medium6.5Authenticated (Shop Manager+) Path Traversal to Arbitrary File Read via 'type' Parameter
≤1.9.8Update to 1.9.9
- Medium5.3Missing Authorization
≤1.8.14Update to 1.9.0
- Medium5.3Missing Authorization
≤1.7.8Update to 1.7.9
- Medium4.3Insufficient Verification of Data Authenticity to Authenticated (Customer+) Information Disclosure
≤1.4.11Update to 1.4.12
Timeline
CVE published
Severity high, CVSS 7.2
Record last updated
Sources & licenses
Wordfence record- Vulnerability data
- Wordfence Intelligence. [object Object] Licensed under the CC BY-SA 4.0.
- CVE® identifiers
- [object Object]. Used under the CVE Program. CVE® is a registered trademark of The MITRE Corporation.
- CVSS / CWE
- National Vulnerability Database (NVD), shown unmodified. This product uses the NVD API but is not endorsed or certified by the NVD.
- VulnCrest content
- Summary, remediation guidance and page layout © VulnCrest. Not sourced from NVD.
