Fancy Product Designer: Cross-site scripting
Fancy Product Designer (affected: <= 6.5.2). An unauthenticated attacker can submit productTitle inside _fpd_data order-item JSON through fpd_save_order, which lacks nonce and capability checks. JSON Unicode escapes survive strip_tags() at save time and become markup after json_decode(), executing script when an administrator views the order.
- Component
- Fancy Product Designer
- Plugin slug
fancy-product-designer- Affected
- <= 6.5.2
- Safe version
- See mitigation notes
- Published
- Sep 25, 2026
This CVE was published Sep 25, 2026 and is one of 18 known issues for this plugin.
Update, patch or deactivate.
No confirmed fixed release is identified. Validate decoded JSON fields and escape productTitle in the admin view; enforce appropriate order authorization and request checks and inspect stored orders before opening them.
No confirmed safe version is listed. Consider a vendor-supported patch or temporarily restricting the affected functionality while you assess the risk.
Deactivate only when warranted by your risk profile, or when advised by your hosting provider in the limited circumstances where the vulnerability cannot otherwise be mitigated. If you’re unsure which action is appropriate, contact Fused or your hosting provider for guidance.
Technical description
The Fancy Product Designer plugin for WordPress is vulnerable to Stored Cross-Site Scripting via 'productTitle' in '_fpd_data' Order Item Meta in all versions up to, and including, 6.5.2 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. The fpd_save_order AJAX action is registered for unauthenticated users via wp_ajax_nopriv_fpd_save_order with no nonce or capability check, and the strip_tags() sanitization applied at save time is bypassed by submitting JSON unicode escape sequences (e.g. \u003c, \u003e), which json_decode() silently converts back to literal angle brackets when the order is rendered in the admin view.
CVE / CNA vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N