Summary
CVE-2025-15662 is a high-severity vulnerability affecting the Printcart Web to Print Product Designer for WooCommerce WordPress plugin in all versions prior to 2.5.3. The flaw combines two unauthenticated attack vectors — an Arbitrary Local File Read and Server-Side Request Forgery (SSRF) — arising from the plugin’s failure to validate user-supplied URLs before performing server-side fetch operations. With a CVSS v3.1 score of 8.6 (High) and no authentication requirement, internet-exposed WooCommerce stores running this plugin are at immediate risk of credential theft and internal network reconnaissance.
Technical details
- Root cause: The
nbdesigner_copy_image_from_urlAJAX action, registered as anopriv(unauthenticated) handler, accepted a raw user-suppliedurlparameter and passed it directly to@copy()andwp_remote_get()without any scheme validation or authorization check. This allowed PHP stream wrappers such asfile://,php://, andftp://to be used, enabling reads of arbitrary files on the server filesystem. Three additional SSRF sinks —nbd_get_freepik_data,nbd_get_pexels_data, andnbd_import_images— fed raw$_POST['src']and$_POST['images']values directly intocurl_exec()with no scheme restrictions, exposing the same vulnerability class across multiple endpoints. - Trigger conditions: No authentication is required. The plugin exposes nonce values through its
noprivAJAX handler, allowing any unauthenticated visitor to craft malicious requests. Attack complexity is low (AC:L). - Attack vector: Network-accessible; the vulnerable AJAX endpoints are reachable over HTTP/HTTPS by any unauthenticated external attacker.
- Impact: An attacker can read arbitrary local files — including
wp-config.php, which contains database credentials and WordPress secret keys — enabling full database access and cryptographic impersonation. Additionally, the SSRF capability allows the attacker to probe and interact with internal network resources, including cloud instance metadata endpoints (e.g.,169.254.169.254). The Changed Scope in the CVSS vector (S:C) reflects that impact extends beyond the plugin itself to the underlying WordPress installation and hosted infrastructure.
Affected software
- Printcart Web to Print Product Designer for WooCommerce — all versions before 2.5.3
Severity
- CVSS v3.1 Base Score: 8.6 (High)
- Vector string:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N - CWE: CWE-918 (Server-Side Request Forgery)
Mitigation and recommended actions
- Immediate – Patch: Update the Printcart Web to Print Product Designer for WooCommerce plugin to version 2.5.3 or later (current release: 2.5.4). Version 2.5.3 introduces a
nbd_validate_remote_url()helper that enforces an http/https-only scheme allow-list, rejects PHP stream wrappers, and blocks requests to loopback, private, and link-local address ranges (including 169.254.0.0/16 cloud metadata). The unsafe@copy($url, ...)andwp_remote_get()calls have been replaced withwp_safe_remote_get()across all affected endpoints. - If immediate patching is not possible: Restrict unauthenticated access to WordPress AJAX endpoints (
/wp-admin/admin-ajax.php) at the web server or WAF level as a temporary measure, and audit server logs for unexpected requests to thenbdesigner_copy_image_from_url,nbd_get_freepik_data,nbd_get_pexels_data, andnbd_import_imagesactions.
IONIX Status
The IONIX research team is tracking ongoing exploitation attempts and recommends immediate patching. Potentially affected assets are outlined in this post.

