WP-Stats Security & Risk Analysis

wordpress.org/plugins/wp-stats

Display your WordPress blog statistics. Ranging from general total statistics, some of my plugins statistics and top 10 statistics.

3K active installs v2.56 PHP + WP 5.5+ Updated Aug 9, 2023
statstatisticsstatswp-statswp-stat
85
A · Safe
CVEs total1
Unpatched0
Last CVEJun 17, 2015
Safety Verdict

Is WP-Stats Safe to Use in 2026?

Generally Safe

Score 85/100

WP-Stats has a strong security track record. Known vulnerabilities have been patched promptly.

1 known CVELast CVE: Jun 17, 2015Updated 2yr ago
Risk Assessment

The wp-stats plugin v2.56 presents a mixed security posture. While the static analysis reveals a relatively small attack surface with no unprotected entry points and a recent history of no currently unpatched vulnerabilities, several concerning patterns emerge from the code analysis. A significant concern is the complete lack of prepared statements for all 13 SQL queries, making it highly susceptible to SQL injection attacks. Furthermore, only 8% of output escaping is properly implemented, indicating a broad risk of Cross-Site Scripting (XSS) vulnerabilities across various output points. The presence of a past medium severity CSRF vulnerability, even if patched, suggests a historical tendency for security oversights in the plugin's development.

Despite the absence of critical taint flows and dangerous functions, the widespread use of raw SQL and inadequate output escaping, combined with a single past CSRF vulnerability, indicates a plugin that requires careful attention. The lack of capability checks on any of the identified entry points is also a notable weakness. While the plugin appears to have addressed its past vulnerabilities and has no known current issues, the fundamental coding practices regarding SQL and output sanitization leave it exposed to common web attack vectors. A user of this plugin should be aware of these underlying risks.

Key Concerns

  • All SQL queries use raw statements, not prepared
  • Low percentage of properly escaped output
  • No capability checks on entry points
  • Past medium severity CSRF vulnerability
Vulnerabilities
1

WP-Stats Security Vulnerabilities

CVEs by Year

1 CVE in 2015
2015
Patched Has unpatched

Severity Breakdown

Medium
1

1 total CVE

CVE-2015-10001medium · 4.3Cross-Site Request Forgery (CSRF)

WP-Stats < 2.52 - Cross-Site Request Forgery

Jun 17, 2015 Patched in 2.52 (3142d)
Code Analysis
Analyzed Mar 16, 2026

WP-Stats Code Analysis

Dangerous Functions
0
Raw SQL Queries
13
0 prepared
Unescaped Output
89
8 escaped
Nonce Checks
1
Capability Checks
0
File Operations
0
External Requests
0
Bundled Libraries
0

SQL Query Safety

0% prepared13 total queries

Output Escaping

8% escaped97 total outputs
Data Flows
All sanitized

Data Flow Analysis

1 flows
<stats-options> (stats-options.php:0)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

WP-Stats Attack Surface

Entry Points1
Unprotected0

Shortcodes 1

[page_stats] wp-stats.php:353
WordPress Hooks 4
actionplugins_loadedwp-stats.php:33
actionadmin_menuwp-stats.php:40
actionwp_enqueue_scriptwp-stats.php:48
actionwidgets_initwp-stats.php:825
Maintenance & Trust

WP-Stats Maintenance & Trust

Maintenance Signals

WordPress version tested6.2.9
Last updatedAug 9, 2023
PHP min version
Downloads335K

Community Trust

Rating52/100
Number of ratings7
Active installs3K
Developer Profile

WP-Stats Developer Profile

Lester Chan

20 plugins · 889K total installs

71
trust score
Avg Security Score
89/100
Avg Patch Time
1377 days
View full developer profile
Detection Fingerprints

How We Detect WP-Stats

Patterns used to identify this plugin on WordPress sites during automated security audits and web crawling.

Asset Fingerprints

Asset Paths
/wp-content/plugins/wp-stats/stats-css.css

HTML / DOM Fingerprints

CSS Classes
wrap
FAQ

Frequently Asked Questions about WP-Stats