Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain WordPress Administrator credentials
-
DeliveryAuthenticate to multisite Network Admin dashboard
-
ExploitSubmit HTTP request with crafted blog_id parameter
-
ExecutionUnsanitized input appended to SQL query in class-network-admin-login-list-table.php
-
ImpactDatabase returns sensitive rows to attacker
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 specific conditions must both be true for exploitation: (1) the WordPress installation must be operating in multisite mode (wp-config.php must define MULTISITE as true and the network must be configured - this is a non-default WordPress setup); and (2) the attacker must be authenticated with Administrator-level access or higher (CVSS PR:H), meaning they hold a valid admin session on the multisite network. Single-site WordPress installations are explicitly not affected regardless of credential level. What limits exploitation: the high privilege bar (PR:H) means a threat actor must have already compromised or legitimately hold admin credentials; the multisite constraint excludes the majority of WordPress deployments; and the impact is read-only (no integrity or availability loss per CVSS C:H/I:N/A:N). |
| Impact | The CVSS 3.1 base score of 4.9 (AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N) accurately captures the dominant risk limiter: PR:H requires Administrator-level authentication, meaning an attacker must already hold privileged access to the WordPress installation before the vulnerability is reachable. Combined with the multisite-only constraint - a non-default WordPress configuration - the realistic exposed population is substantially smaller than the full WordPress ecosystem. Confidentiality impact is rated High (C:H) because a successful injection can extract arbitrary database rows, potentially including credentials, user PII, and application secrets. Integrity and availability are unaffected per the CVSS vector, consistent with a read-only SQL injection path. No EPSS data was provided in the intelligence feed, and the vulnerability is not listed in CISA KEV, suggesting no confirmed widespread exploitation. The Wordfence report and plugin repository changeset 3484407 indicate a patch was committed, but no exact fixed version number is confirmed in the available data. Overall: low operational priority for single-site WordPress deployments; moderate priority for multisite installations where administrators are not fully trusted (e.g., large networks with delegated admin roles). |
| Exploit ScenarioDerived | An attacker who already holds WordPress Administrator credentials on a multisite installation navigates to the Network Admin login history table and submits a crafted HTTP request with a malicious 'blog_id' value containing SQL metacharacters (e.g., a UNION SELECT clause). Because the parameter is interpolated without escaping or prepared statements at lines 70 and 116 of class-network-admin-login-list-table.php, the injected SQL executes against the WordPress database, returning sensitive data such as user password hashes or option table secrets in the response. No public exploit code has been identified, but the source-level references make the injection point trivially reproducible from the plugin repository browser. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 16, 2026
SQL injection in the User Login History WordPress plugin (all versions ≤2.1.7) enables authenticated administrators to append arbitrary SQL to existing queries via the unsanitized 'blog_id' parameter, exposing the full WordPress database to read access. The vulnerability is constrained to WordPress multisite deployments and requires Administrator-level credentials, limiting its real-world attack surface considerably. No public exploit code or CISA KEV listing has been identified at time of analysis; a code-level fix appears to have been committed upstream per the plugin repository changeset.
RemediationAI
Update the User Login History plugin to the version released after changeset 3484407, which contains the upstream code fix addressing the unsanitized 'blog_id' parameter in class-network-admin-login-list-table.php. Confirm the exact patched version via the WordPress plugin repository or the Wordfence advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/4552786b-3362-45bf-9012-cd52f69f0462, as no explicit fixed release number was confirmed in available intelligence data. If immediate patching is not feasible on multisite installations, restrict Network Admin access to a minimal, fully trusted administrator set, as the vulnerability requires Administrator-level credentials - reducing the number of principals holding that role limits blast radius. Additionally, a Web Application Firewall rule targeting SQL metacharacter patterns in the 'blog_id' parameter can serve as a compensating control, though this may interfere with legitimate multisite blog ID values if not carefully tuned.
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 flaw resides in the network admin login list table class (inc/admin/class-network-admin-login-list-table.php, lines 70 and 116), part of the User Login History plugin authored by faiyazalam (CPE: cpe:2.3:a:faiyazalam:user_login_history:*:*:*:*:*:*:*:*). CWE-89 (Improper Neutralization of Special Elements used in an SQL Command) identifies the root cause: user-supplied input for the 'blog_id' parameter is neither properly escaped nor parameterized via prepared statements before being interpolated into an existing SQL query. This classic second-order or inline injection pattern allows an attacker to append UNION-based or stacked SQL clauses. Because the code path is within the network admin interface, it is only reachable in WordPress multisite configurations where the Network Admin dashboard is active.
Know when User Login History 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:H/UI:N/S:U/C:H/I:N/A:N
Admin credentials required (PR:H); injection is read-only so I:N/A:N; network-reachable web interface justifies AV:N/AC:L.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The User Login History plugin for WordPress is vulnerable to SQL Injection via the 'blog_id' parameter in all versions up to, and including, 2.1.7. This is 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 Administrator-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 is only exploitable on multisite installations.
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-59896
GHSA-p789-q8m9-8xjm
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB