WordPress security changelog
HIGH CVE-2026-14989 Deferred

WPLP Cookie Consent stores unauthenticated scripts in consent preferences

WPLP Cookie Consent through 4.4.1 inadequately sanitizes and escapes wpl_user_preference. Its consent-logging AJAX action accepts unauthenticated requests, and wpl_consent_logging_nonce is exposed publicly through wp_localize_script. A visitor can therefore submit stored scripts that execute when another user views the affected content.

CVE / CNA score 7.2 CVSS 3.1 · security@wordfence.com
NVD score Pending NVD has not published its own CVSS assessment.
Component
WPLP Cookie Consent – Cookie Banner & Consent Management for GDPR, CCPA & Google Consent Mode
Plugin slug
gdpr-cookie-consent
Affected
<= 4.4.1
Safe version
See mitigation notes
Published
Sep 09, 2026
Weakness
CWE-79 — Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

This CVE was published Sep 09, 2026 and is one of 22 known issues for this plugin.

Update, patch or deactivate.

WPLP Cookie Consent 4.4.4 is available and may resolve this issue, but the checked official changelog does not confirm a matching fix. Update and obtain vendor confirmation. If in doubt, contact Fused or your hosting vendor.

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 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.

CVE / CNA vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N

Primary and upstream sources