Post Volume Stats Security & Risk Analysis

wordpress.org/plugins/post-volume-stats

Shows stats for the volume of posts per year, month, day-of-the-month, day-of-the-week, hour-of-the-day, words per post, days between posts, author, c …

100 active installs v3.3.08 PHP + WP 3.5+ Updated Jan 31, 2022
categorieschartsgraphspostsstats
85
A · Safe
CVEs total0
Unpatched0
Last CVENever
Safety Verdict

Is Post Volume Stats Safe to Use in 2026?

Generally Safe

Score 85/100

Post Volume Stats has no known CVEs and is actively maintained. It's a solid choice for most WordPress installations.

No known CVEs Updated 4yr ago
Risk Assessment

The "post-volume-stats" plugin v3.3.08 demonstrates a generally good security posture, particularly in its handling of entry points. All six identified AJAX handlers and the absence of REST API routes, shortcodes, or cron events indicate a well-controlled attack surface. The plugin also shows positive signs with the absence of dangerous functions, file operations, and external HTTP requests, all contributing to a reduced risk profile. The presence of nonce checks on all AJAX handlers is a crucial security measure that is correctly implemented.

However, there are areas for improvement. While the majority of SQL queries use prepared statements (59%), a significant portion do not, which could be a potential vector for SQL injection if these raw queries handle user-supplied input without proper sanitization. Similarly, with only 63% of outputs properly escaped, there is a risk of cross-site scripting (XSS) vulnerabilities if the remaining 37% are not handled carefully, especially if they involve user-generated content. The complete lack of capability checks on any of the entry points is a significant concern, meaning that unauthorized users could potentially trigger AJAX actions. The vulnerability history, showing no known CVEs, is reassuring but doesn't negate the importance of addressing the identified code-level weaknesses.

In conclusion, the plugin has strong foundational security practices, particularly in managing its entry points and avoiding common pitfalls like dangerous functions. The absence of critical taint flows and the robust use of prepared statements for SQL are commendable. Nevertheless, the lack of capability checks on AJAX handlers is a critical oversight that needs immediate attention. Addressing the remaining unescaped outputs and ensuring all SQL queries are properly sanitized, especially those not using prepared statements, will further strengthen its security.

Key Concerns

  • Missing capability checks on entry points
  • Significant portion of SQL queries without prepared statements
  • Significant portion of outputs not properly escaped
Vulnerabilities
None known

Post Volume Stats Security Vulnerabilities

No known vulnerabilities — this is a good sign.
Version History

Post Volume Stats Release Timeline

v3.3.08Current
v3.3.07
v3.3.06
v3.3.05
v3.3.04
v3.2.02
v3.2.01
v3.1.17
v3.1.16
v3.1.08
v3.1.06
v3.0.28
v3.0.22
v3.0.17
v3.0.13
v3.0.02
v2.08
v2.3.02
v2.1.8
v2.1.0
Code Analysis
Analyzed Mar 16, 2026

Post Volume Stats Code Analysis

Dangerous Functions
0
Raw SQL Queries
18
26 prepared
Unescaped Output
121
206 escaped
Nonce Checks
6
Capability Checks
0
File Operations
0
External Requests
0
Bundled Libraries
0

SQL Query Safety

59% prepared44 total queries

Output Escaping

63% escaped327 total outputs
Data Flows · Security
All sanitized

Data Flow Analysis

3 flows
sdpvs_process_ajax (post-volume-stats.php:448)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

Post Volume Stats Attack Surface

Entry Points6
Unprotected0

AJAX Handlers 6

authwp_ajax_sdpvs_get_resultspost-volume-stats.php:515
authwp_ajax_sdpvs_compare_yearspost-volume-stats.php:547
authwp_ajax_sdpvs_select_catspost-volume-stats.php:565
authwp_ajax_sdpvs_select_tagspost-volume-stats.php:583
authwp_ajax_sdpvs_select_custompost-volume-stats.php:612
authwp_ajax_sdpvs_admin_noticepost-volume-stats.php:625
WordPress Hooks 14
actionadmin_menupost-volume-stats.php:346
actioninitpost-volume-stats.php:355
actionwp_before_admin_bar_renderpost-volume-stats.php:390
actionadmin_enqueue_scriptspost-volume-stats.php:439
actionwp_enqueue_scriptspost-volume-stats.php:446
actionadmin_post_export_listspost-volume-stats.php:698
actioninitpost-volume-stats.php:709
actiontemplate_redirectpost-volume-stats.php:782
actionadmin_noticespost-volume-stats.php:788
actionadmin_initsdpvs_settings.php:27
actionadmin_initsdpvs_settings.php:40
actionadmin_initsdpvs_settings.php:51
actionadmin_initsdpvs_settings.php:70
actionwidgets_initsdpvs_widget.php:242
Maintenance & Trust

Post Volume Stats Maintenance & Trust

Maintenance Signals

WordPress version tested5.9.13
Last updatedJan 31, 2022
PHP min version
Downloads10K

Community Trust

Rating100/100
Number of ratings7
Active installs100
Developer Profile

Post Volume Stats Developer Profile

shortdark

3 plugins · 200 total installs

84
trust score
Avg Security Score
85/100
Avg Patch Time
30 days
View full developer profile
Detection Fingerprints

How We Detect Post Volume Stats

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/post-volume-stats/sdpvs-admin.css/wp-content/plugins/post-volume-stats/sdpvs-admin.js/wp-content/plugins/post-volume-stats/sdpvs-frontend.js/wp-content/plugins/post-volume-stats/sdpvs-chart.js
Script Paths
sdpvs-admin.jssdpvs-frontend.jssdpvs-chart.js
Version Parameters
post-volume-stats/sdpvs-admin.css?ver=post-volume-stats/sdpvs-admin.js?ver=post-volume-stats/sdpvs-frontend.js?ver=post-volume-stats/sdpvs-chart.js?ver=

HTML / DOM Fingerprints

CSS Classes
sdpvs
Data Attributes
data-sdpvs-categorydata-sdpvs-tag
JS Globals
sdpvs_chart_datasdpvs_chart_options
FAQ

Frequently Asked Questions about Post Volume Stats