Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessRead wpl_consent_logging_nonce from frontend page source
-
DeliveryCraft POST request to wp-admin/admin-ajax.php with JavaScript payload in wpl_user_preference
-
ExploitPayload stored in consent log database
-
ExecutionAdmin reviews consent logs in WordPress dashboard
-
PersistStored XSS executes in admin browser
-
ImpactSession cookie exfiltrated to attacker infrastructure
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The WPLP Cookie Consent plugin (version ≤ 4.4.1) must be installed and active on the WordPress site, with the consent-logging AJAX action registered and reachable. No authentication, no user account, and no privileged access are required - the CVSS vector (PR:N, AC:L) and the description both confirm zero-authentication exploitation. The only functional prerequisite is that the |
| Impact | The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N = 7.2) accurately models this flaw. The most significant real-world risk multiplier is the publicly emitted nonce: most WordPress stored XSS vulnerabilities require at least Subscriber-level authentication, but here the access barrier is zero because the required token is handed to every site visitor. The scope change (S:C) reflects that the injected script executes in a separate browser security context from the server. Impact metrics C:L/I:L are appropriate for XSS - indirect cookie/session theft rather than direct server compromise. No EPSS score was provided in the input data; exploitation probability cannot be quantified numerically but is qualitatively elevated given the zero-prerequisite attack path. The CVE is not in CISA KEV and no public PoC has been identified, suggesting active exploitation has not been observed at time of analysis. Real-world risk is highest for WordPress sites targeting EU/California audiences (the plugin's core user base) where administrative review of consent logs is a routine operational activity - creating a reliable path for a stored payload to reach an authenticated admin session. |
| Exploit ScenarioDerived | An unauthenticated attacker loads any page on the target WordPress site, extracts the |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 09, 2026
Stored cross-site scripting in the WPLP Cookie Consent WordPress plugin (all versions ≤ 4.4.1) enables any unauthenticated site visitor to inject persistent malicious scripts via the wpl_user_preference AJAX parameter. The consent-logging endpoint is registered without authentication requirements, and the protective nonce (wpl_consent_logging_nonce) is publicly broadcast to every page visitor via wp_localize_script(), rendering the nonce mechanism entirely ineffective as an access barrier. Injected payloads execute in the browsers of administrators or users who subsequently view pages rendering consent log data, enabling session hijacking, credential theft, or full administrative account takeover. No public exploit is identified at time of analysis and the CVE is not listed in CISA KEV, but the trivially low exploitation barrier warrants prompt patching.
RemediationAI
Update the WPLP Cookie Consent plugin to the version that incorporates fix commit changeset 3674117 (https://plugins.trac.wordpress.org/changeset?reponame=&old=3674117%40gdpr-cookie-consent&new=3674117%40gdpr-cookie-consent); the exact patched release version number is not confirmed in the available input data - verify the current version in the WordPress plugin directory before updating, and confirm the installed version exceeds 4.4.1. As a compensating control pending patching, deploy a WAF rule blocking JavaScript event handlers and <script> tag patterns in the wpl_user_preference POST parameter on requests to the WordPress AJAX endpoint (wp-admin/admin-ajax.php); note that WAF rules may block legitimate consent values if they contain special characters. Alternatively, disable the consent-logging feature within the plugin's settings if compliance requirements permit, which eliminates the attack surface entirely at the cost of losing consent audit trails. Restrict access to the consent-log admin review page via IP allowlisting to reduce the risk of stored payloads reaching administrative sessions.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The affected product is the gdpr-cookie-consent WordPress plugin by WP Legal Pages (CPE: cpe:2.3:a:wplegalpages:wplp_cookie_consent_-_cookie_banner_&_consent_management_for_gdpr,_ccpa_&_google_consent_mode:*:*:*:*:*:*:*:*). The plugin implements a GDPR/CCPA consent-logging subsystem that records visitor preferences via a WordPress AJAX action. The vulnerability stems from CWE-79 (Improper Neutralization of Input During Web Page Generation): the wpl_user_preference POST parameter is accepted by the AJAX handler in class-wpl-consent-logs.php (line 700) and class-wpl-cookie-consent-consent-logs.php (lines 594, 725) without sanitizing HTML special characters on input or escaping on output, allowing injected JavaScript to be stored verbatim in the database and later rendered into HTML. The normally protective WordPress nonce (wpl_consent_logging_nonce) is emitted into the page's inline JavaScript via wp_localize_script() on every frontend page load, meaning any unauthenticated visitor can read a valid nonce directly from the DOM and construct a fully authenticated AJAX request - effectively bypassing WordPress's standard CSRF/access control layer for this endpoint.
Know when Wplegalpages gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
Nonce is publicly emitted eliminating all auth barriers (PR:N, AC:L); stored XSS executes across browser scope change (S:C); no server-side CIA directly impacted beyond stored malicious data.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
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.
Articles & Coverage 1
Executive ViewAI
The WPLP Cookie Consent WordPress plugin (versions 4.4.1 and earlier) contains a stored cross-site scripting vulnerability allowing unauthenticated attackers to inject malicious code that executes in administrator browsers, enabling session hijacking, credential theft, and potential full site takeover. WordPress powers approximately 43% of all websites globally, making this a potentially widespread exposure for organizations using this plugin. The vulnerability is particularly dangerous because the protective security token is publicly visible to all site visitors, and no vendor-released patch is currently available.
No vendor-released patch identified at time of analysis. Interim mitigations include: (1) uninstall and disable the plugin if a functional replacement exists; (2) deploy Web Application Firewall rules blocking unauthenticated requests to wp-admin/admin-ajax.php with action=wpl_consent_logging; (3) enforce Content Security Policy headers restricting inline script execution (script-src 'self'); (4) implement IP whitelisting for all WordPress administrative console access; (5) enable comprehensive audit logging on all database tables storing consent data; (6) conduct immediate forensic scan for indicators of compromise including JavaScript injection patterns, unexpected administrator accounts, and unauthorized plugin/theme modifications; (7) establish real-time alerting on POST attempts to the affected endpoint.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
More in Wplegalpages
View allUnauthenticated arbitrary file upload in the WPLP Cookie Consent (GDPR/CCPA cookie banner) plugin for WordPress, version
Unauthenticated broken authentication in the WPLegalPages WordPress plugin (versions ≤ 3.7.0) allows remote attackers to
Stored XSS in the WPLP Cookie Consent WordPress plugin (all versions through 4.3.5) enables attackers to inject persiste
The WPLegalPages plugin for WordPress is vulnerable to Stored Cross-Site Scripting via 'wplegalpage' shortcode in versio
SQL injection in the Cookie Banner for GDPR/CCPA - WPLP Cookie Consent WordPress plugin (all versions up to and includin
SQL Injection in the Cookie Banner for GDPR/CCPA - WPLP Cookie Consent WordPress plugin (versions up to and including 4.
Unauthorized modification of cookie scan schedule configuration in the GDPR Cookie Consent WordPress plugin (versions up
Unauthenticated cross-site request forgery in the WPLP Cookie Consent WordPress plugin up to version 4.3.7 allows attack
EUVD-2026-74775
GHSA-79fj-972f-xc72
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB