Horizon Alert
Summary of the vulnerability and why it matters
This vulnerability affects a WordPress plugin that allows users to customize products for e-commerce. While specific conditions are required for exploitation, the flaw could allow attackers to upload malicious files to a website's server, potentially leading to unauthorized code execution. The main concern is confirming relevance and exposure.
- Allows attackers to upload files to websites.
- Enables unauthorized code execution on servers.
- Confirm relevance and exposure of the plugin.
Attack Path
How an attacker could exploit the issue
An attacker could exploit this vulnerability by first ensuring the plugin's "Advanced Upload Popup" setting is enabled, which exposes a file upload handler to unauthenticated users. An anonymous visitor can then obtain a required security token from the public page and send a crafted request to the vulnerable AJAX handler. This request manipulates a URL parameter to write malicious PHP code to an arbitrary location on the server, enabling remote code execution when that file is accessed.
- Unauthenticated access to a public page.
- Specially crafted file upload request.
- Remote code execution.
Live Threat
Current exploitation, exposure, and threat context
When the Printcart Store – Web to Print Product Designer for WooCommerce plugin is configured with the advanced upload popup, unauthenticated attackers could upload arbitrary PHP content to the server. This could lead to remote code execution when the uploaded file is accessed. The required nonce for this action is present on a publicly accessible page, making it easily obtainable by anonymous visitors.
- System files could be overwritten.
- Attackers could upload malicious PHP files.
- Remote code execution on the server.
Operational Fix
Recommended remediation, mitigation, and detection steps
The Printcart Store plugin for WooCommerce on WordPress is vulnerable to remote code execution. This issue is likely to impact teams responsible for maintaining the WordPress application and its plugins, potentially including the web development team, platform operations, or the specific application owner. The first practical step is to determine if the `nbdesigner_upload_popup_style` option is set to `a` (Advanced Upload Popup) and if the plugin is configured in a way that exposes the vulnerable AJAX handler to unauthenticated users, then to identify accountable owners for the WordPress instances running this plugin and assess business criticality.
- WordPress and plugin owners must act.
- Verify the vulnerable option and configuration.
- Plan risk-based remediation or mitigation.