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.
Published: 2026-11-07
Score: 9.8 Critical
EPSS: n/a
KEV: No
Impact: Remote Code Execution
Action: Immediate Patch
AI Analysis

Impact

The Printcart Store – Web to Print Product Designer for WooCommerce plugin allows an unauthenticated attacker to upload arbitrary PHP code by exploiting the nbu_crop_image Ajax action. The handler accepts a user‑supplied url parameter, appends it to the uploads directory without normalizing path components, and writes the content using writeImage. Because the image extension is derived from the same attacker‑controlled path, an attacker can place a .php file in a location outside the intended uploads directory and subsequently execute it. The vulnerability exists when the nbdesigner_upload_popup_style site option is set to ‘a’ (Advanced Upload Popup), but the required nonce is printed on a public page, making the attack trivially available to anonymous users.

Affected Systems

All releases of the Printcart Store plugin up to and including version 2.13.2 are affected. The vulnerability exists in the Printcart Store – Web to Print Product Designer for WooCommerce plugin for WordPress. No specific build or patch level is exempt; users running any version ≤2.13.2 are vulnerable unless the vulnerable functionality is disabled.

Risk and Exploitability

The CVSS base score of 9.8 indicates that exploitation results in complete control over the system. The EPSS score for this issue is currently unavailable, and the vulnerability is not listed in the CISA KEV catalog, but these factors do not reduce its potential impact. Exploitation requires only anonymous access to the site with the Advanced Upload Popup setting active; because the nonce is publicly rendered, attackers can obtain it without authentication. Once a malicious file is uploaded, remote execution is immediate if the file is served by the web server. Consequently, the risk to any site using a vulnerable plugin version is both high and low‑barrier to exploitation.

Generated by OpenCVE AI on November 7, 2026 at 04:22 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Printcart Store to a version newer than 2.13.2.
  • If a newer version is unavailable, disable the Advanced Upload Popup feature (set nbdesigner_upload_popup_style to a value other than 'a') or restrict the nbu_crop_image Ajax endpoint to authenticated users only.
  • Reconfigure the web server so that any files within the uploads directory are not executed as PHP, or change file permissions to deny execution for uploaded content.
  • Consider removing or sanitizing the writeImage call for attacker‑supplied paths to prevent arbitrary file writes, if custom patching is feasible.

Generated by OpenCVE AI on November 7, 2026 at 04:22 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 07 Nov 2026 03:45:00 +0000

Type Values Removed Values Added
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.
Title Printcart Store <= 2.13.2 - Unauthenticated Arbitrary File Upload via nbu_crop_image 'url' Parameter
Weaknesses CWE-94
References
Metrics cvssV3_1

{'score': 9.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: Wordfence

Published:

Updated: 2026-11-07T03:28:04.940Z

Reserved: 2026-08-13T20:32:02.319Z

Link: CVE-2026-19803

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Deferred

Published: 2026-11-07T04:17:29.233

Modified: 2026-11-07T04:17:29.377

Link: CVE-2026-19803

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-07T04:30:13Z

Weaknesses
  • CWE-94

    Improper Control of Generation of Code ('Code Injection')