Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as Editor-level user
-
DeliveryStore SQLi payload in counter value
-
ExploitUnauthenticated visitor renders counter page
-
ExecutionInjected query executes against database
-
ImpactExfiltrate arbitrary data and password hashes
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 | Exploitation requires an attacker to already hold an Editor-level (or higher) WordPress account on the target site in order to store the malicious counter value - this is the primary limiting factor and means the flaw is only reachable on multi-author/multi-user deployments where Editors are not fully trusted. The second stage requires no authentication: the injected SQL executes automatically whenever any unauthenticated visitor renders a public page containing the affected Animated Number Counters element, so no further interaction or special configuration beyond using the plugin's counter feature is needed. Affected versions are all releases before 3.1; upgrading to 3.1 removes the condition. |
| Impact | This is a moderate-priority issue rather than an emergency, and the signals are largely consistent. The provided CVSS 3.1 vector (AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:N/A:N, base 6.8) correctly reflects a second-order flaw: the network attack vector and scope change capture that an authenticated Editor plants a payload which later executes for unauthenticated visitors, while PR:H encodes the real barrier - attacker must already hold an Editor-level account. Publicly available exploit code exists (WPScan), which raises practical risk, but this must NOT be conflated with active exploitation: the CVE is NOT in CISA KEV, so there is no evidence of in-the-wild use. No EPSS score was provided, so statistical exploitation probability cannot be weighed here - a data gap worth noting. The dominant factor limiting real-world risk is the PR:H prerequisite: on single-author or tightly-controlled sites there is no untrusted Editor, whereas on multi-author/agency/membership sites where Editors are semi-trusted, this becomes a privilege-escalation-to-data-theft path yielding password hashes. Net: credible and patch-worthy given confirmed POC and a vendor fix, but gated by the need for an existing privileged account, so prioritize on multi-author WordPress deployments. |
| Exploit ScenarioDerived | On a multi-author WordPress site, a malicious or compromised Editor creates or edits an Animated Number Counters entry, embedding a SQL injection payload in an unsanitised counter value that is stored in the database. When any unauthenticated visitor later loads a public page rendering that counter, the payload is concatenated into a live SQL query and executed, letting the attacker exfiltrate arbitrary database contents including user password hashes. A public proof-of-concept is available via WPScan, lowering the effort required. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 07, 2026
Second-order SQL injection in the Animated Number Counters WordPress plugin before version 3.1 allows an attacker with an Editor-level account to store a crafted counter value that is later concatenated into an SQL query and executed when any unauthenticated visitor loads a page containing the counter, enabling extraction of arbitrary database contents including password hashes. The flaw requires an existing Editor account (authenticated, high privileges) for the initial injection, but the malicious SQL runs without further authentication. A vendor patch (version 3.1) is available, and publicly available exploit code exists; the assessed CVSS vector (6.8, PR:H, scope changed) reflects the privileged prerequisite and high confidentiality impact.
RemediationAI
Upgrade to Animated Number Counters version 3.1 or later; this is the vendor-released patch that removes the SQL injection condition. If immediate upgrade is not possible, restrict the ability to create or edit counter elements to fully trusted users only - for example, remove the Editor role's capability to manage the plugin's custom post type or shortcode, or downgrade untrusted Editors to a lower role. Note that this mitigation is incomplete because any user with the required capability can still inject, and it may break legitimate multi-author workflows. Additionally, consider using a web application firewall (WAF) rule to detect and block SQL injection patterns in requests that store counter values, though WAF bypasses are possible and this should not be the sole control. Refer to the WPScan advisory at https://wpscan.com/vulnerability/ccaedf47-6a6b-429b-aae9-3b4254181dd9/ for further details.
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 vulnerability is a CWE-89 SQL injection (second-order) in the WordPress plugin Animated Number Counters. The plugin stores a counter value (e.g., a number or label) supplied by an Editor-level user without sanitisation or escaping, then concatenates that stored value directly into an SQL query that is executed whenever the counter is rendered on a public-facing page. Because the injection occurs in a second-order fashion - the malicious payload is persisted first and triggered later - the SQL statement runs in the context of the WordPress database user with the privileges of the web application. The CPE string cpe:2.3:a:unknown:animated_number_counters:*:*:*:*:*:*:*:* indicates the affected product is the plugin itself, with all versions below 3.1 vulnerable per EUVD. The changed scope (S:C) in the CVSS vector reflects that the vulnerable component (the plugin) can impact resources beyond its security scope (the database).
Know when Animated Number Counters 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:C/C:H/I:N/A:N
PR:H because a stored payload requires an existing Editor account; S:C as injection into the DB reaches data beyond the plugin; C:H for hash disclosure, I:N/A:N as impact is read-only.
Primary rating from Vendor (WPScan).
CVSS VectorVendor: WPScan
Lifecycle Timeline
4DescriptionCVE.org
The Animated Number Counters WordPress plugin before 3.1 does not sanitise or escape a value stored by an Editor-level user before concatenating it into a SQL query that runs when any unauthenticated visitor renders a page containing the counter, leading to second-order SQL injection that can read arbitrary data including password hashes.
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.
More in Animated Number Counters
View allImproper Limitation of a Pathname to a Restricted Directory ('Path Traversal') vulnerability in Sk. Rated high severity
Auth. Rated medium severity (CVSS 5.4), this vulnerability is remotely exploitable, low attack complexity. No vendor pat
Second-order SQL injection in the Animated Number Counters WordPress plugin (all versions up to and including 3.0) allow
EUVD-2026-94181
GHSA-pjg3-7vq5-jcg3
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB