CVE-2026-121516: QODE Wishlist for WooCommerce <= 1.2.9 - Unauthenticated Stored Cross-Site Scripting via 'table_title' Shared Wishlist Field via Guest Cookie
The QODE Wishlist for WooCommerce plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'qodewishlistforwoocommerceguestsitems' parameter in all versions up to, and including, 1.2.9 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. This is exploitable by guests because the required wprest nonce is publicly emitted to unauthenticated visitors on the /wishlist/ page, and the attacker controls the transient key, meaning the payload is stored site-wide and only requires a victim to open a crafted share URL and click the injected title link. Successful exploitation additionally requires an action by an administrator — the attacker cannot trigger the vulnerability on their own.
Event History
Frequently Asked Questions
Who can exploit this issue, and what must they do?
Unauthenticated visitors can exploit it because a required wp_rest nonce is publicly available on the /wishlist/ page. The attacker must create a crafted shared-wishlist URL containing an injected title link and persuade a victim to open it and click that link.
Does exploitation require administrator involvement?
Yes. Successful exploitation requires an administrator action; the attacker cannot trigger the vulnerability on their own. The provided data does not specify the exact administrator action required.
Is the malicious content limited to one visitor's wishlist or browser session?
No. Because the attacker controls the transient key, the payload is stored site-wide rather than being limited to the attacker's guest session.