Skip to main content

Visitor Traffic Statistics Pro CVE-2026-93367

| EUVDEUVD-2026-91166 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-10-02 Wordfence GHSA-x36m-2pwv-jrpp
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 crafted nopriv AJAX POST
  2. Delivery
    Inject script into page_title parameter
  3. Exploit
    Payload stored unsanitized in DB
  4. Execution
    Admin opens Traffic-by-Title dashboard
  5. Persist
    Script executes in admin session
  6. Impact
    Hijack session or create rogue admin

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

Exploitation requires that the vulnerable plugin be installed and active, and that the ahcpro_track_visitor AJAX endpoint remain registered for unauthenticated (wp_ajax_nopriv_) callers - which is the default per the description, so no special attacker-side configuration or authentication is needed to plant the payload. The payload only executes under one concrete condition: an administrator must subsequently open the plugin's dashboard and view the 'Traffic by Title' DataTable, since that is where the stored til_page_title value is rendered as innerHTML without escaping. This admin-view dependency is the main limiting factor - the attack is passive and deferred, not instantaneous, and does not fire against anonymous visitors or non-admin users.

Impact

This is a genuine, exploitable vulnerability but sits in the medium-priority tier rather than the top of the stack. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N, base 7.2 High) describes network-reachable, low-complexity, unauthenticated injection with a scope change - consistent with the description: the ahcpro_track_visitor AJAX action is exposed to logged-out callers (wp_ajax_nopriv_) and stores page_title raw, then renders it as innerHTML in the admin 'Traffic by Title' DataTable. The signals are internally consistent (the PR:N and S:C claims are directly supported by the described nopriv registration and cross-context execution in an admin session). The limiting factor the raw CVSS score understates is the second-order trigger: code only executes when an authenticated administrator opens the plugin dashboard, so impact is deferred and victim-dependent rather than instantaneous. On missing signals: no EPSS score, no KEV listing, and no POC indicator were provided, so there is no evidence of active or at-scale exploitation - exploitation status is 'no public exploit identified at time of analysis.' Net: a real issue worth patching promptly on affected sites, but absent KEV/EPSS/POC data it is a routine WordPress stored-XSS rather than an emergency; the primary risk is full admin-session compromise (cookie theft, rogue admin creation, plugin/site takeover) via the scope change.

Exploit ScenarioDerived

An unauthenticated attacker sends a crafted POST to admin-ajax.php invoking action=ahcpro_track_visitor with a malicious page_title containing a script payload, which is stored unsanitized in the ahc_title_traffic.til_page_title column. Later, when a site administrator opens the plugin's 'Traffic by Title' dashboard, the payload renders as innerHTML and executes JavaScript in the admin's authenticated session, enabling session hijack or creation of a new administrator account. No public exploit code was identified in the provided data, but the attack is low-complexity (AV:N/AC:L) and requires no attacker authentication.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.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 – Oct 02, 2026

Unauthenticated stored cross-site scripting in the Visitors Traffic Real Time Statistics Pro WordPress plugin (all versions up to and including 11.22) lets any logged-out visitor write raw HTML/JavaScript into the plugin's traffic database through the page_title parameter of the ahcpro_track_visitor AJAX action, which is deliberately exposed to unauthenticated callers via wp_ajax_nopriv_ahcpro_track_visitor. The injected script stays dormant in the ahc_title_traffic.til_page_title column until an administrator opens the plugin's dashboard, where the 'Traffic by Title' DataTable renders the stored value with innerHTML and no output escaping, executing attacker-controlled JavaScript inside the admin's authenticated session. No public exploit code has been identified at time of analysis and the vulnerability is not in CISA KEV; because execution depends on a subsequent admin dashboard view, the attack is passive and deferred rather than immediate, placing it in the medium-priority tier despite the PR:N, UI:N base score of 7.2.

RemediationAI

No vendor-released patch has been identified at time of analysis, and no fixed version number appears in the available advisory data, so the primary action is to stop using the plugin until wp-buy publishes a corrected release - confirm status against the vendor product page at https://www.wp-buy.com/product/visitors-traffic-real-time-statistics-pro/ and the Wordfence advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/a72261e5-7376-4a34-9264-27bd4f27e938?source=cve. Deactivating the plugin is the only complete mitigation: it removes the wp_ajax_nopriv_ahcpro_track_visitor endpoint so no payload can be planted, at the cost of losing all traffic reporting functionality and any historical data views until a fix lands. If deactivation is not operationally acceptable, the next strongest compensating control is to block POST requests to /wp-admin/admin-ajax.php carrying action=ahcpro_track_visitor at the WAF or reverse proxy for all unauthenticated traffic; the trade-off is that legitimate pageview tracking for logged-out visitors will be dropped, so the plugin's statistics will be incomplete, and administrators must be logged in before any plugin request is permitted or the same rule will break the dashboard itself. Because the payload only detonates when an administrator loads the 'Traffic by Title' view, temporarily restricting wp-admin access to trusted IP addresses and avoiding that specific dashboard screen reduces the window of execution, but this does not remove the stored payload and will fire again the moment the page is viewed. As a secondary containment measure, purge the ahc_title_traffic table (or at minimum the til_page_title column) of any non-plaintext values before re-enabling dashboard access, since leftover payloads will remain live after the code is patched. Sites running a WAF with virtual patching for WordPress AJAX XSS - such as the Wordfence ruleset that produced this advisory - should verify the signature is enabled and current, recognizing that virtual patching masks rather than eliminates the defect and lapses if the subscription ends.

Affected VersionsENISA

Visitor Traffic Real Time Statistics Pro 0 ≤11.22

Affected Packages

euvd visitor_traffic_real_time_statistics_pro 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 flaw is a classic CWE-79 improper neutralization of user-supplied input during web page generation, manifesting here as stored (persistent) XSS in a WordPress plugin. WordPress registers AJAX handlers through wp_ajax_{action} for authenticated users and wp_ajax_nopriv_{action} for logged-out users; this plugin registers ahcpro_track_visitor in the nopriv namespace, so the visitor-tracking endpoint is reachable by anyone on the internet with no session, nonce, or capability check. The handler takes $_POST['page_title'] and writes it verbatim into the plugin's own table, ahc_title_traffic, in the til_page_title column, with no sanitization on input and, critically, no escaping on output. The stored string is later consumed by a DataTable in the plugin's administrative dashboard that assigns the value to innerHTML, which tells the browser to parse the content as markup rather than text - so any <script> or event-handler payload the attacker planted becomes live code in the administrator's browser context. The CVSS vector AV:N/AC:L/PR:N/UI:N/S:C reflects a network-reachable, low-complexity, unauthenticated input path (PR:N) with a scope change (S:C), since code originating from an anonymous visitor context ends up executing with the privileges of an authenticated administrator; the C:L/I:L/A:N weighting reflects that the immediate effect is script execution in a high-privilege session rather than direct data theft or denial of service, though in practice that session access can be leveraged to create rogue admin accounts, install backdoors, or exfiltrate content. The CPE cpe:2.3:a:wp-buy:visitor_traffic_real_time_statistics_pro:*:*:*:*:*:*:*:* records the vendor as wp-buy and documents no version bounds, matching the advisory statement that every release through 11.22 is affected. It is worth noting the reporting source, Wordfence, maintains its own firewall signatures for this class of WordPress AJAX XSS, which is a relevant extenuating control for sites already behind that WAF.

Know when Visitor Traffic Real Time Statistics Pro 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

Unauthenticated network-reachable injection via a nopriv AJAX action gives PR:N/AV:N/AC:L; execution in the admin browser context yields S:C with C:L/I:L and no availability impact.

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:N/VI:N/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 Visitors Traffic Real Time Statistics Pro plugin for WordPress is vulnerable to unauthenticated stored Cross-Site Scripting in all versions up to, and including, 11.22 via the page_title parameter of the ahcpro_track_visitor AJAX action. The action is registered for logged-out callers (wp_ajax_nopriv_ahcpro_track_visitor) and stores $_POST['page_title'] with NO sanitization, keeping it raw in the ahc_title_traffic.til_page_title column. When an administrator opens the plugin's dashboard, the 'Traffic by Title' DataTable renders that stored value as innerHTML without output escaping, executing arbitrary JavaScript. This makes it possible for unauthenticated attackers to inject web scripts that run in an administrator's session.

Executive ViewAI

Why It Matters

The Visitors Traffic Real Time Statistics Pro WordPress plugin, in versions up to and including 11.22, can store malicious content that later executes in a site administrator's active dashboard session. This could enable administrative account takeover, persistent malicious content, and reputational harm for organizations using the plugin on public-facing sites. No vendor-released patch identified at time of analysis, and no public exploit identified at time of analysis.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis; interim mitigations include disabling or removing the plugin, restricting wp-admin access, deploying WAF or virtual patching rules to block script payloads in the page_title parameter or ahcpro_track_visitor action, enforcing least privilege for administrator accounts, and monitoring for unauthorized admin changes.

Threat Intelligence Overview

EPSS Score
0.2%
Top 92% exploitable
Prevalence
Low
paid niche WordPress analytics plugin, limited commercial footprint
Social Media
1
Sightings
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.2%
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