Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain subscriber-level WordPress credentials
-
DeliveryAuthenticate and retrieve session cookies
-
ExploitCraft malicious wppl_device_id cookie with SQL injection payload
-
ExecutionSubmit authenticated HTTP request to the site
-
PersistLogin History feature processes unsanitized cookie in SQL query
-
ImpactExtract sensitive WordPress database records
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Persistence The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Two conditions must hold simultaneously: the attacking user must possess a valid WordPress account at subscriber level or above (any registered role satisfies this - PR:L per CVSS vector), and the plugin's Login History feature must be explicitly enabled in the site configuration. Sites where Login History is disabled are not reachable by this attack regardless of plugin version installed. No administrative or editor-level privilege is required - subscriber is the minimum threshold. No victim interaction is required (UI:N). The attack is conducted remotely over HTTP (AV:N) by sending a crafted cookie alongside any authenticated request. Attack complexity is low (AC:L) once both prerequisite conditions are satisfied. |
| Impact | The CVSS 6.5 score reflects a network-accessible attack requiring low-privilege authentication (PR:L) with no user interaction, yielding high confidentiality impact and zero integrity or availability impact - accurately characterizing a read-only SQL exfiltration primitive. The absence of EPSS data and KEV listing limits precise exploitation-probability estimation, but both gaps tilt risk assessment toward the lower end of urgency absent other signals. The decisive risk-limiting factor is the Login History feature gate: sites that have never enabled this feature are wholly unexploitable regardless of plugin version. Where Login History is active and subscriber-level registration is open - common on membership sites, WooCommerce stores, or LMS installations - the attacker class is broad and the data at risk (WordPress user table including hashed passwords and emails) is sensitive. Even a mid-sized operator running an open-registration WordPress site should treat this as an urgent remediation when the Login History feature is in use. The overall real-world priority is moderate-to-high for the affected deployment subset, but effectively zero for the majority of sites where Login History is disabled. |
| Exploit ScenarioDerived | An attacker registers or already holds a subscriber-level WordPress account on a target site with Login History enabled, then submits an authenticated HTTP request bearing a wppl_device_id cookie containing appended SQL syntax such as a UNION SELECT or boolean-blind payload. The Login History class processes the cookie without sanitization, executing the injected SQL against the WordPress database, and the attacker retrieves user credentials, emails, or other sensitive records. No public exploit code has been identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 01, 2026
SQL injection in the Persistent Login WordPress plugin (versions ≤ 3.1.0) allows network-accessible, subscriber-level authenticated attackers to extract sensitive database contents by injecting arbitrary SQL via the wppl_device_id cookie. The flaw - CWE-89 caused by missing input escaping and absent query parameterization in the Login History feature - carries a CVSS 6.5 with high confidentiality impact and no integrity or availability impact. No public exploit code or CISA KEV listing has been identified at time of analysis.
RemediationAI
A code changeset (revision 3648199) has been committed to the WordPress Plugin Trac repository, indicating an upstream fix exists; however, a specific patched release version number is not confirmed in the available intelligence and should be verified against the WordPress plugin repository before updating. Administrators should update to the highest available version of Persistent Login and confirm it exceeds 3.1.0 with the fix incorporated. As an immediate compensating control with no functional side effects for sites not relying on login auditing, disabling the Login History feature within the plugin settings removes the vulnerable code path entirely - this is the recommended interim mitigation since the flaw is only reachable when Login History is active. Monitor the Wordfence advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/2d980542-bc8e-409a-a19c-0c158df6ee95 for patch version confirmation.
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 root cause is CWE-89 (Improper Neutralization of Special Elements Used in SQL Command). The Persistent Login plugin (CPE: cpe:2.3:a:lukeseager:persistent_login:*:*:*:*:*:*:*:*) fails to escape or parameterize the wppl_device_id cookie value before incorporating it into SQL queries within the Login History subsystem. WordPress Plugin Trac source references confirm the vulnerable logic in wp-persistent-login-login-history.php at lines 61 and 278, and in the main class wp-persistent-login.php at line 36. The cookie is processed with each authenticated page request, giving any subscriber-level user a reliable and repeatable injection surface when the Login History feature is active.
Know when Persistent Login 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:L/UI:N/S:U/C:H/I:N/A:N
Cookie injection is network-accessible and low-complexity once conditions met; subscriber auth required (PR:L); impact is read-only exfiltration only (C:H, I:N, A:N); feature-gate dependency does not raise AC as it is a site configuration state, not an attacker-controlled variable.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The Persistent Login plugin for WordPress is vulnerable to generic SQL Injection via 'wppl_device_id' Cookie in all versions up to, and including, 3.1.0 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. This makes it possible for authenticated attackers, with subscriber-level access and above, to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database. This vulnerability is only exploitable when the plugin's Login History feature is enabled.
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
SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.
EUVD-2026-68971
GHSA-9vm5-hh7p-3w4x
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB