CVE-2026-84281: Fancy Product Designer <= 6.5.2 - Unauthenticated Stored Cross-Site Scripting via 'productTitle' in '_fpd_data' Order Item Meta
The Fancy Product Designer plugin for WordPress is vulnerable to Stored Cross-Site Scripting via 'productTitle' in 'fpddata' 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 fpdsaveorder AJAX action is registered for unauthenticated users via wpajaxnoprivfpdsaveorder with no nonce or capability check, and the striptags() sanitization applied at save time is bypassed by submitting JSON unicode escape sequences (e.g. \u003c, \u003e), which jsondecode() silently converts back to literal angle brackets when the order is rendered in the admin view.
Affected Software
Event History
Frequently Asked Questions
Who is exposed to exploitation?
Any site running Fancy Product Designer version 6.5.2 or earlier is exposed. An attacker does not need an account because the vulnerable order-saving AJAX action is available to unauthenticated users.
What does an attacker need to do to trigger the issue?
The attacker needs to submit crafted _fpd_data containing a malicious productTitle through the fpd_save_order AJAX action. They can encode angle brackets as JSON Unicode escape sequences, which are converted back to literal characters when the data is decoded and later rendered.
Where does the injected script execute?
The payload is stored in order item metadata and executes when a user accesses the injected page, including when the affected order data is rendered in the administrative view. This can affect users who review maliciously created order data.