CVE-2026-19803 Printcart Store <= 2.13.2 - Unauthenticated Arbitrary File Upload via nbu_crop_image 'url' Parameter
- Published
- Updated
- Exploit status
- No public exploit known
Description
The Printcart Store – Web to Print Product Designer for WooCommerce plugin for WordPress is vulnerable to Arbitrary File Upload in all versions up to, and including, 2.13.2. This is due to the nbu_crop_image AJAX handler accepting a user-supplied url parameter that Nbdesigner_IO::convert_url_to_path() concatenates onto the uploads base directory without normalizing or stripping ../ sequences, and then deriving both the output directory and output file extension via pathinfo() from the same attacker-controlled path — with no stripImage() call before writeImage() is invoked. This makes it possible for unauthenticated attackers to write attacker-controlled PHP content to arbitrary locations outside the uploads directory, resulting in remote code execution when the written file is subsequently requested. This vulnerability is only exploitable when the nbdesigner_upload_popup_style site option is set to a (Advanced Upload Popup), which causes the handler to be registered for unauthenticated requests; however, the required save-design nonce is printed on the fully public frontend upload-design-file page, making it trivially obtainable by any anonymous visitor once that configuration is active.
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| Printcart Store – Web to Print Product Designer for WooCommerce | <= 2.13.2 | No fix listed |