Skip to main content

Visitor Traffic Real Time Statistics EUVDEUVD-2026-91920

| CVE-2026-97341 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-10-03 Wordfence GHSA-4mc8-9rx9-vcjv
7.2
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

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

  1. Access
    Send forged X-Real-IP HTTP header
  2. Delivery
    Hit nopriv ahcfree_track_visitor AJAX endpoint
  3. Exploit
    Payload stored in database
  4. Execution
    Admin opens statistics dashboard
  5. Impact
    Script executes in admin browser

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

No authentication, nonce, or capability is required: the wp_ajax_nopriv_ahcfree_track_visitor endpoint accepts a forged X-Real-IP HTTP header from any unauthenticated request and persists it, so any internet-reachable site running Visitor Traffic Real Time Statistics ≤8.16 is reachable by default. The specific prerequisite is that the plugin's visitor-tracking functionality be active (which is the plugin's core purpose) and that the attacker can set an arbitrary X-Real-IP header - trivial via a direct HTTP request rather than through a trusted reverse proxy. The principal LIMITING factor is deferred execution: the injected payload only fires when a victim (typically a logged-in administrator) subsequently loads the statistics page that renders the stored value, so impact depends on that view occurring and on the client-side DOM handling of the entity-encoded stored data.

Impact

This is a genuine prioritization concern driven by access, not by raw impact. The supplied CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N, 7.2 High) shows a fully remote, low-complexity, unauthenticated attack path with a scope change - consistent with the description's explicit claim that the wp_ajax_nopriv_ahcfree_track_visitor endpoint requires no authentication, no nonce, and no capability. The CWE-79 classification and the dedicated vendor code references (Wordfence threat-intel entry plus specific plugins.trac source lines and a patch changeset) corroborate the root cause. However, several exploitation signals are MISSING from the input: there is no EPSS score, no CISA KEV listing, and no POC flag - so this is 'no public exploit identified at time of analysis,' and real-world exploitation probability cannot be quantified from the data given. Note a modeling tension to verify: the description calls this 'Stored DOM-Based XSS' and states the payload is stored 'entity-encoded ... verbatim,' which suggests execution depends on client-side DOM re-parsing of the encoded value rather than raw reflection - the actual firing depends on how the dashboard JS (ahcfree_js_scripts.js) handles the stored value. Impact is also bounded: C:L/I:L/A:N reflects XSS in a browser session rather than direct server compromise. Net: easy to reach and unauthenticated (real priority for WordPress operators), but impact is session-level and active exploitation is unconfirmed.

Exploit ScenarioDerived

An unauthenticated attacker sends a single HTTP request to the plugin's nopriv visitor-tracking AJAX endpoint with a forged X-Real-IP header containing a crafted payload, which is stored in the site database. When an administrator or other user later loads the real-time statistics dashboard that renders the stored IP value client-side, the script executes in their authenticated browser context. No public exploit code is identified in the provided data, but the attack needs no authentication and minimal complexity.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 03, 2026

Stored DOM-based cross-site scripting in the WordPress plugin Visitor Traffic Real Time Statistics (all versions up to and including 8.16) allows unauthenticated remote attackers to inject arbitrary web scripts that execute when a victim later loads the plugin's statistics view. The entry point is the plugin's wp_ajax_nopriv_ahcfree_track_visitor AJAX action, which accepts a forged X-Real-IP HTTP header with no authentication, nonce, or capability check and persists the entity-encoded value verbatim in the database; per the CVSS vector (AV:N/AC:L/PR:N/UI:N/S:C) exploitation is network-reachable and requires no privileges or user interaction at injection time. No public exploit code has been identified at time of analysis and the issue is not confirmed actively exploited (no CISA KEV listing), so risk here is driven primarily by the trivial unauthenticated injection path rather than by demonstrated in-the-wild abuse.

RemediationAI

No vendor-announced fixed version is confirmed in the available data; the only remediation artifact is upstream code change in the plugin repository (Trac changeset 3722792 for visitors-traffic-real-time-statistics, https://plugins.trac.wordpress.org/changeset?reponame=&old=3722792%40visitors-traffic-real-time-statistics&new=3722792%40visitors-traffic-real-time-statistics), so treat this as "upstream fix available (commit/changeset); released patched version not independently confirmed" and verify the current plugin release on WordPress.org before upgrading - do not assume 8.17 exists. Until a patched release is validated, the most effective control is to stop untrusted X-Real-IP values from reaching PHP: terminate the header at your edge (nginx/apache/CDN) with a rule that overwrites or drops any client-supplied X-Real-IP and X-Forwarded-For rather than passing it through, which neutralizes the injection vector but must be applied consistently at every ingress path or the plugin can still be reached directly. Site operators who cannot do that should deactivate Visitor Traffic Real Time Statistics outright - the plugin's core function is visitor tracking, so there is no partial "safe mode" - and losing the statistics dashboard is the accepted trade-off; a narrower alternative is a WAF rule that rejects POSTs to /wp-admin/admin-ajax.php with action=ahcfree_track_visitor carrying unexpected X-Real-IP content, though WAF bypass via encoding is common and this is defense-in-depth only. Because the payload executes only when an administrator loads the affected statistics page, also reduce the deferred-execution window by restricting wp-admin access to trusted networks/IP allowlists and by deploying a Content-Security-Policy on wp-admin that disallows inline script, accepting that some plugin UI may break. Rotate administrator sessions and review the plugin's stored visitor table for non-IP content after any suspected exposure. Monitor the Wordfence advisory page above for a confirmed patched version number.

Affected VersionsENISA

Visitor Traffic Real Time Statistics 0 ≤8.16

Affected Packages

euvd visitor_traffic_real_time_statistics 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 affected component is a WordPress visitor-analytics plugin (CPE cpe:2.3:a:wp-buy:visitor_traffic_real_time_statistics, vendor wp-buy) that logs incoming traffic by reading request metadata - including the client-supplied X-Real-IP header - inside its hit-counting classes (WPHitsCounter.php) and functions.php handlers. Because the AJAX handler is registered with wp_ajax_nopriv_ahcfree_track_visitor, it is explicitly exposed to logged-out visitors, and the traced code paths in functions.php and the plugin's JavaScript (js/ahcfree_js_scripts.js) show the header value being written to the database and subsequently rendered into the administrative statistics page. The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation), specifically missing input sanitization on ingestion combined with missing output encoding on the client-side DOM sink: the payload is stored entity-encoded, so it survives storage intact and is decoded/inserted into the DOM by the plugin's JavaScript, producing a stored DOM-based XSS rather than a conventional reflected or server-side-echoed one. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N) reflects a scope change: the injected script runs in the context of the privileged statistics page and can act with the victim's browser privileges, although direct confidentiality and integrity impact within the plugin itself is rated Low.

Know when Visitor Traffic Real Time Statistics 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 7.2 HIGH
AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
vuln.today AI 7.2 HIGH

Remote unauthenticated header injection (AV:N/AC:L/PR:N), stored XSS fires without victim action on the vuln component (UI:N), crosses into the admin's browser context (S:C) with session-level C:L/I:L.

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

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

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

DescriptionCVE.org

The Visitor Traffic Real Time Statistics plugin for WordPress is vulnerable to Stored DOM-Based Cross-Site Scripting via 'X-Real-IP' HTTP Header in all versions up to, and including, 8.16 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. This requires no authentication, no nonce, and no capability - the wp_ajax_nopriv_ahcfree_track_visitor endpoint accepts the forged X-Real-IP header from any unauthenticated HTTP request and stores the entity-encoded payload verbatim in the database.

Executive ViewAI

Why It Matters

The WordPress plugin Visitor Traffic Real Time Statistics (versions up to and including 8.16) contains a stored cross-site scripting flaw that allows unauthenticated attackers to plant persistent scripts through a public tracking endpoint. Because the payload executes when an administrator or other privileged user views the plugin's statistics page, a successful attack could lead to session theft, unauthorized WordPress actions, or broader site compromise; no public exploit identified at time of analysis, and no vendor-released patch identified at time of analysis. Leadership should treat any WordPress property running this plugin as an elevated risk until it is removed, disabled, or virtually patched.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: deactivate or remove the Visitor Traffic Real Time Statistics plugin for all versions up to and including 8.16; if it must remain, block the wp_ajax_nopriv_ahcfree_track_visitor action at the WAF or reverse proxy, strip or overwrite X-Real-IP headers from untrusted sources, restrict plugin statistics views to trusted administrators, scan and clean stored statistics data for script payloads, and monitor logs for injection attempts.

Threat Intelligence Overview

EPSS Score
0.3%
Top 82% exploitable
Prevalence
Medium
common WordPress analytics plugin, moderate but not universal 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 HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

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

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

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