Read the docs
TI-2026-86189 Aliases CVE-2026-19803GHSA-r27v-88r8-fhq6

Arbitrary file upload in Printcart Store for WooCommerce

Priority MEDIUM 44CWE-94Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
Code execution
Confidentiality · integrity · availability
High · High · High
Fix status
No fix listed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-94.

Summary

Printcart Store, a web to print plugin for WordPress and WooCommerce, is affected in all versions up to and including 2.13.2. The nbu_crop_image AJAX handler does not normalize the url parameter, so a flaw classified as CWE-94 lets it write attacker-supplied PHP content to arbitrary paths outside the uploads directory. An unauthenticated attacker can exploit this when the upload popup style is set to Advanced, because the required nonce is printed on a public page. Once the written file is requested, the attacker gets remote code execution.

Written with Claude Haiku 5.5 from the sources below · 2026-11-07

Description from the CNA

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.

Why it matters now

EPSS 0.00962 61st percentileScored 2026-11-07
Fix No fix listed No fixed version in the sources yet

SSVC decision points

Not available: CISA has not published SSVC decision points for this record.

Affected products

VendorProductAffected versionsFixed inStatusSource
printcartPrintcart Store – Web to Print Product Designer for WooCommerceup to 2.13.2—No fix listedCNA
  • Printcart Store – Web to Print Product Designer for WooCommerce Vendorprintcart Affected up to 2.13.2 Fixed in — No fix listed CNA

Remediation

The sources list no fixed version for Printcart Store (Web to Print Product Designer for WooCommerce).

Written with Claude Haiku 5.5 from the sources below · 2026-11-07

Timeline

  1. 2026-11-07 Threatist record created from CVE-2026-19803
  2. 2026-11-07 Alias added: GHSA-r27v-88r8-fhq6

References

  • TI-2026-73781 Unrestricted file upload in Printcart PCDesigner WooCommerce plugin CVSS 3.1CRITICAL 9.8
  • TI-2025-30138 WordPress Printcart Web to Print Product Designer for WooCommerce plugin <= 2.3.9 - Arbitrary File Upload Vulnerability CVSS 3.1CRITICAL 10.0
  • TI-2026-08523 Printcart Web to Print Product Designer for WooCommerce <= 2.5.2 - Unauthenticated Arbitrary File Deletion CVSS 3.1CRITICAL 9.1
  • TI-2025-30137 WordPress Printcart Web to Print Product Designer for WooCommerce plugin <= 2.4.0 - SQL Injection Vulnerability CVSS 3.1CRITICAL 9.3
  • TI-2026-12113 Path traversal in Printcart Store – Web to Print Product Designer for WooCommerce CVSS 3.1HIGH 7.5
  • TI-2025-18497 WordPress Printcart Web to Print Product Designer for WooCommerce plugin <= 2.4.0 - SQL Injection Vulnerability CVSS 3.1HIGH 8.5
See all 7 →

Sources