WhyDonate – FREE Donate button – Crowdfunding – Fundraising Security & Risk Analysis

wordpress.org/plugins/wp-whydonate

FREE Donation button for your website. Collect donations via Credit card, PayPal, VISA, iDeal, Sofort and Bancontact. Set up in minutes and safe!

800 active installs v4.0.17 PHP 5.6+ WP 4.6+ Updated Nov 12, 2025
crowdfundingdonate-buttondonation-buttondonation-modulefundraising
96
A · Safe
CVEs total3
Unpatched0
Last CVEOct 20, 2025
Safety Verdict

Is WhyDonate – FREE Donate button – Crowdfunding – Fundraising Safe to Use in 2026?

Generally Safe

Score 96/100

WhyDonate – FREE Donate button – Crowdfunding – Fundraising has a strong security track record. Known vulnerabilities have been patched promptly.

3 known CVEsLast CVE: Oct 20, 2025Updated 4mo ago
Risk Assessment

The "wp-whydonate" plugin v4.0.17 exhibits a mixed security posture. On the positive side, the static analysis reveals a strong adherence to WordPress security best practices. All identified AJAX handlers, REST API routes, and the single shortcode are protected by authentication and capability checks, indicating a well-secured attack surface. The plugin also utilizes prepared statements for a significant majority of its SQL queries and has a reasonable rate of output escaping, mitigating common injection vulnerabilities. Furthermore, there are no critical or high-severity taint flows identified, and no dangerous functions are present, which are excellent indicators of secure coding practices.

However, the plugin's vulnerability history presents a significant concern. The presence of three previously disclosed medium-severity vulnerabilities, specifically related to Missing Authorization and Cross-Site Request Forgery (CSRF), suggests a recurring pattern of insecure implementation. The fact that the last vulnerability was recorded in October 2025, and there are currently no unpatched vulnerabilities, is a positive sign, but the historical pattern cannot be ignored. This history, coupled with the fact that 39% of SQL queries are not using prepared statements and only 61% of outputs are properly escaped, indicates areas where developer attention to detail might be inconsistent. While the current version might be clean, the historical context warrants vigilance.

In conclusion, "wp-whydonate" v4.0.17 has a solid technical foundation in terms of its current attack surface and code signals. The robust use of nonces and capability checks is commendable. Nevertheless, the persistent history of medium-severity vulnerabilities, particularly those related to authorization and CSRF, remains a notable weakness. Users should be aware of this historical pattern and ensure the plugin is always updated to the latest version as soon as it becomes available to mitigate risks stemming from past vulnerabilities. The slight increase in non-prepared SQL queries and less-than-perfect output escaping also represent minor but persistent areas for improvement.

Key Concerns

  • 3 medium severity CVEs in history
  • 16% of SQL queries without prepared statements
  • 39% of outputs not properly escaped
Vulnerabilities
3

WhyDonate – FREE Donate button – Crowdfunding – Fundraising Security Vulnerabilities

CVEs by Year

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

Severity Breakdown

Medium
3

3 total CVEs

CVE-2025-49899medium · 5.3Missing Authorization

Whydonate <= 4.0.15 - Missing Authorization

Oct 20, 2025 Patched in 4.0.16 (10d)
CVE-2025-10186medium · 5.3Missing Authorization

WhyDonate – FREE Donate button – Crowdfunding – Fundraising <= 4.0.15 - Missing Authorization to Unauthenticated wp_wdplugin_style Rww Deletion

Oct 14, 2025 Patched in 4.0.16 (3d)
CVE-2023-29238medium · 4.3Cross-Site Request Forgery (CSRF)

Whydonate – FREE Donate button <= 3.12.14 - Cross-Site Request Forgery

May 10, 2023 Patched in 3.12.16 (258d)
Code Analysis
Analyzed Mar 16, 2026

WhyDonate – FREE Donate button – Crowdfunding – Fundraising Code Analysis

Dangerous Functions
0
Raw SQL Queries
6
32 prepared
Unescaped Output
25
39 escaped
Nonce Checks
6
Capability Checks
3
File Operations
0
External Requests
6
Bundled Libraries
0

SQL Query Safety

84% prepared38 total queries

Output Escaping

61% escaped64 total outputs
Attack Surface

WhyDonate – FREE Donate button – Crowdfunding – Fundraising Attack Surface

Entry Points7
Unprotected0

AJAX Handlers 6

authwp_ajax_check_api_keyincludes\core-functions.php:39
authwp_ajax_api_keyincludes\core-functions.php:95
authwp_ajax_transfer_stylingincludes\core-functions.php:199
authwp_ajax_check_databaseincludes\core-functions.php:254
authwp_ajax_my_actionincludes\core-functions.php:299
authwp_ajax_fundraiser_shortcodes_arrayincludes\core-functions.php:360

Shortcodes 1

[whydonate] includes\core-functions.php:10
WordPress Hooks 11
actionadmin_menuadmin\admin-menu.php:68
filterstyle-listadmin\settings-page.php:68
actionupgrader_process_completewhydonate-v2.php:88
actionadmin_noticeswhydonate-v2.php:129
actionplugins_loadedwhydonate-v2.php:181
actionplugins_loadedwhydonate-v2.php:232
actionadmin_enqueue_scriptswhydonate-v2.php:238
filteradmin_footer_textwhydonate-v2.php:240
filterupdate_footerwhydonate-v2.php:241
filterscript_loader_srcwhydonate-v2.php:272
filterstyle_loader_srcwhydonate-v2.php:273
Maintenance & Trust

WhyDonate – FREE Donate button – Crowdfunding – Fundraising Maintenance & Trust

Maintenance Signals

WordPress version tested6.8.5
Last updatedNov 12, 2025
PHP min version5.6
Downloads43K

Community Trust

Rating96/100
Number of ratings43
Active installs800
Developer Profile

WhyDonate – FREE Donate button – Crowdfunding – Fundraising Developer Profile

jjlemstra

1 plugin · 800 total installs

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

How We Detect WhyDonate – FREE Donate button – Crowdfunding – Fundraising

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/wp-whydonate/admin/css/wdplugin-style.css/wp-content/plugins/wp-whydonate/admin/js/wdplugin.js
Version Parameters
wp-whydonate/admin/css/wdplugin-style.css?ver=wp-whydonate/admin/js/wdplugin.js?ver=

HTML / DOM Fingerprints

JS Globals
wdplugin_fundraiser_worker_urlwdplugin_donation_worker_urlwdplugin_account_worker_urlwdplugin_home_urlobjajaxurl
FAQ

Frequently Asked Questions about WhyDonate – FREE Donate button – Crowdfunding – Fundraising