Simple Download Counter Security & Risk Analysis

wordpress.org/plugins/simple-download-counter

Simply counts the number of times your files are downloaded. Display download links and counts using shortcodes.

2K active installs v2.3 PHP 5.6.20+ WP 5.0+ Updated Feb 1, 2026
download-counterdownload-managerdownloadsfile-managerstatistics
95
A · Safe
CVEs total4
Unpatched0
Last CVEDec 9, 2025
Safety Verdict

Is Simple Download Counter Safe to Use in 2026?

Generally Safe

Score 95/100

Simple Download Counter has a strong security track record. Known vulnerabilities have been patched promptly.

4 known CVEsLast CVE: Dec 9, 2025Updated 2mo ago
Risk Assessment

The "simple-download-counter" v2.3 plugin exhibits a mixed security posture. On the positive side, the static analysis reveals a complete absence of unprotected AJAX handlers and REST API routes, and all SQL queries utilize prepared statements, which are strong indicators of good security development practices. The presence of nonce and capability checks, along with proper output escaping for a majority of outputs, further reinforces this. However, a significant concern arises from the taint analysis, which identified one flow with an unsanitized path. While this did not result in a critical or high-severity finding in the static analysis, unsanitized path handling is a common precursor to path traversal vulnerabilities.

The plugin's vulnerability history is a more substantial area of concern. With four known CVEs, all categorized as medium severity, and a recent vulnerability disclosure in late 2025, this suggests a pattern of security weaknesses. The types of past vulnerabilities, including Path Traversal, External Control of File Name or Path, and Cross-site Scripting, are all critical types of web application vulnerabilities that can lead to significant compromises. The fact that there are no currently unpatched vulnerabilities is a positive sign, but the historical prevalence of these specific vulnerability types warrants caution and suggests that the codebase may still harbor similar latent issues.

In conclusion, while the current version of "simple-download-counter" shows improvements in some areas like input sanitization for SQL and API endpoints, the identified taint flow involving unsanitized paths and the plugin's history of medium-severity vulnerabilities, particularly those related to path manipulation and XSS, represent notable risks. Users should remain vigilant and ensure the plugin is kept up-to-date, as past vulnerability patterns indicate a potential for recurring issues.

Key Concerns

  • Flows with unsanitized paths found in taint analysis
  • Past medium severity vulnerabilities (4 known CVEs)
  • Bundled library (TinyMCE) may have unknown vulnerabilities
Vulnerabilities
4

Simple Download Counter Security Vulnerabilities

CVEs by Year

1 CVE in 2023
2023
3 CVEs in 2025
2025
Patched Has unpatched

Severity Breakdown

Medium
4

4 total CVEs

CVE-2025-13677medium · 4.9Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

Simple Download Counter <= 2.2.2 - Authenticated (Administrator+) Arbitrary File Read via Path Traversal

Dec 9, 2025 Patched in 2.2.3 (1d)
CVE-2025-46240medium · 6.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Simple Download Counter <= 2.2 - Authenticated (Contributor+) Stored Cross-Site Scripting

Apr 22, 2025 Patched in 2.2.1 (9d)
CVE-2025-1730medium · 6.5External Control of File Name or Path

Simple Download Counter <= 2.0 - Authenticated (Author+) Arbitrary File Read

Feb 28, 2025 Patched in 2.1 (1d)
CVE-2023-4838medium · 6.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Simple Download Counter <= 1.6 - Authenticated (Contributor+) Stored Cross-Site Scripting

Sep 8, 2023 Patched in 1.6.1 (137d)
Code Analysis
Analyzed Mar 16, 2026

Simple Download Counter Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
0 prepared
Unescaped Output
23
106 escaped
Nonce Checks
6
Capability Checks
3
File Operations
2
External Requests
0
Bundled Libraries
1

Bundled Libraries

TinyMCE

Output Escaping

82% escaped129 total outputs
Data Flows
1 unsanitized

Data Flow Analysis

1 flows1 with unsanitized paths
<functions-core> (inc\functions-core.php:0)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface

Simple Download Counter Attack Surface

Entry Points7
Unprotected0

Shortcodes 7

[sdc_download] simple-download-counter.php:98
[sdc_downloads_published] simple-download-counter.php:99
[sdc_count] simple-download-counter.php:100
[sdc_count_total] simple-download-counter.php:101
[sdc_meta] simple-download-counter.php:102
[sdc_cats] simple-download-counter.php:103
[sdc_menu] simple-download-counter.php:104
WordPress Hooks 41
filtermce_external_pluginsinc\functions-shortcode.php:611
filtermce_buttonsinc\functions-shortcode.php:612
actionpre_update_option_download_counter_optionssimple-download-counter.php:50
actioninitsimple-download-counter.php:51
actionadmin_initsimple-download-counter.php:53
actionadmin_initsimple-download-counter.php:54
actionplugins_loadedsimple-download-counter.php:55
filterplugin_action_linkssimple-download-counter.php:56
filterplugin_row_metasimple-download-counter.php:57
filteradmin_footer_textsimple-download-counter.php:58
actionadmin_initsimple-download-counter.php:60
actionadmin_initsimple-download-counter.php:61
actionadmin_noticessimple-download-counter.php:62
actioncurrent_screensimple-download-counter.php:63
actionadmin_enqueue_scriptssimple-download-counter.php:64
actionadmin_print_scriptssimple-download-counter.php:65
actionadmin_menusimple-download-counter.php:66
actionadmin_initsimple-download-counter.php:67
actionadmin_initsimple-download-counter.php:68
actioninitsimple-download-counter.php:70
actioninitsimple-download-counter.php:71
actioninitsimple-download-counter.php:72
filtermanage_sdc_download_posts_columnssimple-download-counter.php:74
filtermanage_edit-sdc_download_sortable_columnssimple-download-counter.php:75
actionpre_get_postssimple-download-counter.php:76
actionmanage_sdc_download_posts_custom_columnsimple-download-counter.php:77
actionrestrict_manage_postssimple-download-counter.php:78
filterpost_row_actionssimple-download-counter.php:79
actioncurrent_screensimple-download-counter.php:81
filtertiny_mce_before_initsimple-download-counter.php:82
actionadmin_print_footer_scriptssimple-download-counter.php:83
filterenter_title_heresimple-download-counter.php:85
filterpost_updated_messagessimple-download-counter.php:86
actionadmin_headsimple-download-counter.php:87
actionadd_meta_boxessimple-download-counter.php:89
actionadd_meta_boxessimple-download-counter.php:90
filterdefault_hidden_meta_boxessimple-download-counter.php:91
actionsave_postsimple-download-counter.php:92
actionparse_requestsimple-download-counter.php:94
actionparse_requestsimple-download-counter.php:95
actioninitsimple-download-counter.php:96
Maintenance & Trust

Simple Download Counter Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedFeb 1, 2026
PHP min version5.6.20
Downloads26K

Community Trust

Rating98/100
Number of ratings18
Active installs2K
Developer Profile

Simple Download Counter Developer Profile

Jeff Starr

30 plugins · 1.2M total installs

78
trust score
Avg Security Score
98/100
Avg Patch Time
345 days
View full developer profile
Detection Fingerprints

How We Detect Simple Download Counter

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/simple-download-counter/css/sdc-admin.css/wp-content/plugins/simple-download-counter/css/sdc-admin-table.css/wp-content/plugins/simple-download-counter/css/sdc-admin-metabox.css/wp-content/plugins/simple-download-counter/js/sdc-admin.js
Script Paths
/wp-content/plugins/simple-download-counter/js/sdc-admin.js
Version Parameters
simple-download-counter/css/sdc-admin.css?ver=simple-download-counter/css/sdc-admin-table.css?ver=simple-download-counter/css/sdc-admin-metabox.css?ver=simple-download-counter/js/sdc-admin.js?ver=

HTML / DOM Fingerprints

CSS Classes
sdc-download-countsdc-meta-field
HTML Comments
<!-- SDC Download Counter --><!-- SDC --><!-- download_counter --><!-- SDC Metabox -->+35 more
Data Attributes
data-sdc-id
JS Globals
sdc_admin_params
Shortcode Output
<div class="sdc-download-count"><span class="sdc-meta-field">
FAQ

Frequently Asked Questions about Simple Download Counter