CVE-2025-49996 Overview
CVE-2025-49996 is a Missing Authorization vulnerability affecting the WP Visitor Statistics (Real Time Traffic) WordPress plugin, also known as wp-stats-manager, developed by osama.esh. The flaw allows unauthenticated attackers to access plugin functionality that is not properly constrained by Access Control Lists (ACLs). All plugin versions up to and including 8.4 are affected. The weakness is classified under CWE-862: Missing Authorization and is exploitable remotely over the network without user interaction.
Critical Impact
Unauthenticated remote attackers can invoke restricted plugin functions on affected WordPress sites, degrading availability and enabling abuse of statistics-management operations.
Affected Products
- WP Visitor Statistics (Real Time Traffic) plugin (wp-stats-manager) versions through 8.4
- WordPress sites running the vulnerable plugin
- Any hosting environment exposing the affected plugin endpoints to the public internet
Discovery Timeline
- 2025-06-20 - CVE-2025-49996 published to the National Vulnerability Database
- 2026-06-17 - Last updated in NVD database
Technical Details for CVE-2025-49996
Vulnerability Analysis
The plugin exposes one or more action handlers that fail to verify the caller's role or capability before executing privileged operations. Because WordPress plugins commonly register callbacks through admin-ajax.php or REST routes, missing current_user_can() checks or absent permission_callback definitions allow any network client to invoke the affected functionality.
Exploitation requires no authentication, no user interaction, and low attack complexity. The scope remains unchanged, and the impact is limited to availability, meaning attackers can disrupt or manipulate plugin behavior without directly reading or altering sensitive data. The EPSS probability is 0.343%, indicating low observed exploitation likelihood at the time of analysis.
Root Cause
The root cause is broken access control in the plugin's request-handling logic. Callback functions registered for AJAX or REST actions do not enforce capability checks such as manage_options or verify nonces tied to a privileged user session. This omission removes the enforcement boundary that WordPress relies on to distinguish administrators from unauthenticated visitors.
Attack Vector
An attacker sends crafted HTTP requests to the exposed plugin endpoints over the network. Because no credentials are required, the attack can be automated and executed at scale against WordPress sites indexed by search engines or plugin fingerprinting tools. Successful requests trigger plugin actions intended only for authorized administrators, affecting site availability and the integrity of visitor statistics data.
Refer to the Patchstack advisory for wp-stats-manager for detailed technical context.
Detection Methods for CVE-2025-49996
Indicators of Compromise
- Unauthenticated POST requests to wp-admin/admin-ajax.php with action parameters registered by the wp-stats-manager plugin.
- Anomalous modifications, resets, or deletions in the plugin's statistics tables without corresponding administrator sessions.
- Spikes in requests to plugin-specific REST routes under /wp-json/ from unauthenticated clients.
Detection Strategies
- Review WordPress access logs for requests targeting plugin endpoints that lack an authenticated session cookie or valid nonce.
- Correlate plugin action invocations with the originating user ID; unauthenticated triggers indicate exploitation.
- Deploy web application firewall rules to flag admin-ajax.php calls referencing wp-stats-manager actions from external IP addresses.
Monitoring Recommendations
- Enable verbose logging on WordPress and preserve access.log and error.log entries for retrospective analysis.
- Alert on repeated requests to wp-stats-manager endpoints from a single source over short intervals.
- Track integrity of plugin database tables and generate alerts on unexpected row deletions or truncations.
How to Mitigate CVE-2025-49996
Immediate Actions Required
- Upgrade the WP Visitor Statistics (Real Time Traffic) plugin to a version later than 8.4 as soon as the vendor publishes a fix.
- Deactivate and remove the plugin from any WordPress site where an update is not yet available.
- Restrict network access to wp-admin/admin-ajax.php and /wp-json/ routes using a WAF or reverse proxy rules.
Patch Information
At the time of NVD publication, the vulnerability affects all versions up to and including 8.4. Consult the Patchstack advisory for the current fixed version and vendor guidance. Apply the update through the WordPress plugin management console or via WP-CLI.
Workarounds
- Block unauthenticated requests to plugin-specific AJAX actions using web server rewrite rules or a WAF policy.
- Limit access to admin-ajax.php by source IP where operationally feasible.
- Disable the plugin until a patched release is verified in a staging environment.
# Update the plugin using WP-CLI once a patched version is available
wp plugin update wp-stats-manager
# Alternatively, deactivate and remove the plugin
wp plugin deactivate wp-stats-manager
wp plugin delete wp-stats-manager
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

