Severity by source
AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
Shop Manager authentication (PR:H) is mandatory via nonce and capability check; network delivery of template payload via WordPress admin HTTP API; full server-side PHP execution yields complete CIA impact.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
Lifecycle Timeline
2DescriptionCVE.org
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.
AnalysisAI
Remote code execution in the WCPOS Point of Sale plugin for WordPress/WooCommerce (all versions through 1.9.14) allows authenticated Shop Manager-level users to inject and execute arbitrary PHP on the server. The flaw lies in Receipt_Renderer_Factory incorrectly routing 'thermal' engine templates to Legacy_Php_Renderer, which writes attacker-controlled content to a temporary file and executes it via PHP's include(). No public exploit or CISA KEV listing identified at time of analysis; however, full server compromise is achievable by any user holding the manage_woocommerce_pos capability.
Technical ContextAI
The affected component is the Receipt_Renderer_Factory class within the woocommerce-pos WordPress plugin by kilbot (CPE: cpe:2.3:a:kilbot:wcpos_-_point_of_sale_(pos)_plugin_for_woocommerce:*:*:*:*:*:*:*:*). The factory is responsible for dispatching receipt templates to the appropriate rendering engine. When a template specifies the 'thermal' engine type, the factory incorrectly routes it to Legacy_Php_Renderer instead of a dedicated, sandboxed thermal renderer. The Legacy_Php_Renderer (visible in plugin trac at tags/1.9.10 and 1.9.11 at includes/Services/Receipt_Renderer_Factory.php#L25 and includes/Templates/Renderers/Legacy_Php_Renderer.php#L42) writes the template body to a temporary file and executes it using PHP's native include() function, which evaluates embedded PHP tags as executable code. This is a textbook CWE-94 (Improper Control of Generation of Code) vulnerability: user-supplied template content is treated as trusted server-side code without sanitization or sandboxing.
RemediationAI
Upstream fix commit changeset 3634267 is referenced in the WordPress plugin trac (https://plugins.trac.wordpress.org/changeset?reponame=&old=3634267%40woocommerce-pos&new=3634267%40woocommerce-pos); however, the exact patched release version number is not independently confirmed from available data - administrators should monitor the Wordfence advisory (https://www.wordfence.com/threat-intel/vulnerabilities/id/cf3efda0-8609-4a75-a00b-735b49ef260b) and the WordPress plugin repository for a version above 1.9.14. As an immediate compensating control, restrict the Shop Manager role assignment strictly to fully trusted personnel and audit all existing accounts holding the manage_woocommerce_pos capability; removing this capability from unnecessary accounts eliminates the attack surface entirely. Additionally, monitoring WordPress audit logs for unexpected template save operations in the POS template editor can detect exploitation attempts. Do not allow untrusted third-party access to Shop Manager accounts on affected installations until the patch is applied.
In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
Same weakness CWE-94 – Code Injection
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-59905
GHSA-fq4g-jqvq-wx5r