CVE-2026-14989
largeUnauthenticated Stored XSS in WordPress WPLP Cookie Consent Plugin
CVE-2026-14989 is a stored cross-site scripting (XSS) vulnerability in the 'Cookie Banner for GDPR / CCPA - WPLP Cookie Consent' WordPress plugin, caused by insufficient input sanitization and output escaping of the 'wpl_user_preference' parameter. Because the consent-logging AJAX endpoint is registered for unauthenticated users and its required nonce (wpl_consent_logging_nonce) is publicly emitted in frontend pages via wp_localize_script, any unauthenticated site visitor can retrieve the nonce and submit a crafted request that stores arbitrary web script on the site. The injected script then executes in the browser of any user who loads the affected page, letting the attacker run actions in the context of those users (potentially including logged-in privileged users), inject malicious content, or redirect visitors; the CVSS 3.1 score is 7.2 (high) with low confidentiality and integrity impacts, no availability impact, and a changed scope reflecting cross-user execution. Any WordPress site running the plugin at version 4.4.1 or earlier is affected. There is currently no public proof-of-concept, the flaw is not listed in CISA KEV, and no confirmed exploitation is known.
What to do: Update WPLP Cookie Consent to the latest patched release (anything newer than 4.4.1) as soon as it is available, or temporarily deactivate the plugin until patched. Because payloads can be planted by completely unauthenticated visitors, site owners should review stored consent/preference records for injected scripts and check web logs for unexpected unauthenticated requests to the consent-logging AJAX endpoint.
| WPLP (WP Legal Pages) Cookie Banner for GDPR / CCPA - WPLP Cookie Consent (WordPress plugin) | All versions up to and including 4.4.1 |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
The Cookie Banner for GDPR / CCPA – WPLP Cookie Consent plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'wpl_user_preference' parameter in all versions up to, and including, 4.4.1 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 consent-logging AJAX endpoint is registered for unauthenticated users and its required nonce (wpl_consent_logging_nonce) is publicly emitted via wp_localize_script on the frontend, meaning any unauthenticated site visitor can plant a payload without any prior authentication or privileged access.
- Ecosystems
- WordPress
- Weakness
- CWE-79
- Vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
In the news0 stories
No ingested article mentions this CVE yet.