Skip to main content

Persistent Login CVE-2026-18752

| EUVDEUVD-2026-68971 MEDIUM
SQL Injection (CWE-89)
2026-09-01 Wordfence GHSA-9vm5-hh7p-3w4x
6.5
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain subscriber-level WordPress credentials
  2. Delivery
    Authenticate and retrieve session cookies
  3. Exploit
    Craft malicious wppl_device_id cookie with SQL injection payload
  4. Execution
    Submit authenticated HTTP request to the site
  5. Persist
    Login History feature processes unsanitized cookie in SQL query
  6. Impact
    Extract 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

Persistent Login 0 ≤3.1.0

Affected Packages

euvd persistent_login no fix

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

Vendor (Wordfence) PRIMARY 6.5 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 6.5 MEDIUM

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.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

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

EPSS Score
0.2%
Top 84% exploitable
Prevalence
Low
niche single-developer WordPress plugin, limited install base
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy