Patreon WordPress Security & Risk Analysis

wordpress.org/plugins/patreon-connect

Connect your WordPress site to Patreon and increase your members and pledges!

3K active installs v1.9.16 PHP 7.4+ WP 4.0+ Updated Oct 30, 2025
membersmembershippatreon
87
A · Safe
CVEs total10
Unpatched0
Last CVEJan 24, 2025
Safety Verdict

Is Patreon WordPress Safe to Use in 2026?

Generally Safe

Score 87/100

Patreon WordPress has a strong security track record. Known vulnerabilities have been patched promptly.

10 known CVEsLast CVE: Jan 24, 2025Updated 5mo ago
Risk Assessment

The 'patreon-connect' v1.9.16 plugin exhibits a mixed security posture. While it demonstrates some good practices, such as a significant percentage of SQL queries utilizing prepared statements and a good number of nonce and capability checks, there are notable concerns. The static analysis reveals a substantial attack surface with 12 out of 29 AJAX handlers lacking authentication checks, presenting an immediate risk of unauthorized actions. Furthermore, only 27% of output is properly escaped, increasing the likelihood of Cross-Site Scripting (XSS) vulnerabilities. The plugin's vulnerability history is a major red flag, with 10 known CVEs, including 3 critical and 3 high severity issues, spanning common vulnerability types like missing authorization and XSS. Although there are currently no unpatched CVEs, the recurring nature and severity of past vulnerabilities suggest potential systemic weaknesses in security practices, particularly concerning input sanitization and authorization enforcement. The critical taint flows with unsanitized paths, while not rated as critical severity in the analysis, warrant careful review given the historical context of similar issues.

Key Concerns

  • 12 AJAX handlers without auth checks
  • Low percentage of properly escaped output
  • Total of 10 known CVEs
  • 3 critical severity CVEs
  • 3 high severity CVEs
  • 5 flows with unsanitized paths
Vulnerabilities
10

Patreon WordPress Security Vulnerabilities

CVEs by Year

1 CVE in 2018
2018
5 CVEs in 2021
2021
1 CVE in 2022
2022
1 CVE in 2023
2023
1 CVE in 2024
2024
1 CVE in 2025
2025
Patched Has unpatched

Severity Breakdown

Critical
3
High
3
Medium
4

10 total CVEs

CVE-2025-24588medium · 5.3Missing Authorization

Patreon WordPress <= 1.9.1 - Missing Authorization

Jan 24, 2025 Patched in 1.9.2 (5d)
CVE-2024-37430medium · 5.3Protection Mechanism Failure

Patreon WordPress <= 1.9.0 - Protection Mechanism Bypass

Jun 28, 2024 Patched in 1.9.1 (5d)
CVE-2023-41129medium · 4.3Cross-Site Request Forgery (CSRF)

Patreon WordPress <= 1.8.7 - Cross-Site Request Forgery

Nov 7, 2023 Patched in 1.8.8 (77d)
CVE-2021-25026medium · 5.5Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Patreon WordPress <= 1.8.1 - Authenticated Stored Cross-Site Scripting

Feb 20, 2022 Patched in 1.8.2 (702d)
CVE-2021-24227high · 7.5Exposure of Sensitive Information to an Unauthorized Actor

Patreon WordPress < 1.7.0 - Local File Disclosure

Mar 26, 2021 Patched in 1.7.0 (1033d)
CVE-2021-24231high · 8.8Cross-Site Request Forgery (CSRF)

Patreon WordPress <= 1.6.9 - Cross-Site Request Forgery

Mar 26, 2021 Patched in 1.7.0 (1033d)
CVE-2021-24228critical · 9.6Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Patreon WordPress <= 1.7.0 - Reflected Cross-Site Scripting

Mar 26, 2021 Patched in 1.7.2 (1033d)
CVE-2021-24230high · 8.1Cross-Site Request Forgery (CSRF)

Patreon WordPress <= 1.6.9 - Cross-Site Request Forgery

Mar 26, 2021 Patched in 1.7.0 (1033d)
CVE-2021-24229critical · 9.6Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Patreon WordPress <= 1.7.0 - Reflected Cross-Site Scripting

Mar 26, 2021 Patched in 1.7.2 (1033d)
CVE-2018-20984critical · 9.8Deserialization of Untrusted Data

Patreon WordPress < 1.2.2 - PHP Object Injection

Nov 23, 2018 Patched in 1.2.2 (1887d)
Code Analysis
Analyzed Mar 16, 2026

Patreon WordPress Code Analysis

Dangerous Functions
0
Raw SQL Queries
4
10 prepared
Unescaped Output
126
46 escaped
Nonce Checks
20
Capability Checks
34
File Operations
10
External Requests
11
Bundled Libraries
0

SQL Query Safety

71% prepared14 total queries

Output Escaping

27% escaped172 total outputs
Data Flows
5 unsanitized

Data Flow Analysis

12 flows5 with unsanitized paths
patreon_plugin_admin_message_page (classes\patreon_options.php:763)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
12 unprotected

Patreon WordPress Attack Surface

Entry Points30
Unprotected12

AJAX Handlers 29

noprivwp_ajax_patreon_catch_image_clickclasses\patreon_protect.php:17
authwp_ajax_patreon_catch_image_clickclasses\patreon_protect.php:18
authwp_ajax_patreon_wordpress_dismiss_admin_noticeclasses\patreon_wordpress.php:95
authwp_ajax_patreon_wordpress_toggle_optionclasses\patreon_wordpress.php:96
authwp_ajax_patreon_wordpress_populate_patreon_level_selectclasses\patreon_wordpress.php:97
authwp_ajax_patreon_make_attachment_pledge_editorclasses\patreon_wordpress.php:99
noprivwp_ajax_patreon_make_attachment_pledge_editorclasses\patreon_wordpress.php:100
authwp_ajax_patreon_save_attachment_patreon_levelclasses\patreon_wordpress.php:101
noprivwp_ajax_patreon_save_attachment_patreon_levelclasses\patreon_wordpress.php:102
authwp_ajax_patreon_wordpress_start_post_importclasses\patreon_wordpress.php:103
noprivwp_ajax_patreon_wordpress_start_post_importclasses\patreon_wordpress.php:104
authwp_ajax_patreon_wordpress_import_next_batch_of_postsclasses\patreon_wordpress.php:105
noprivwp_ajax_patreon_wordpress_import_next_batch_of_postsclasses\patreon_wordpress.php:106
authwp_ajax_patreon_wordpress_cancel_manual_post_importclasses\patreon_wordpress.php:107
noprivwp_ajax_patreon_wordpress_cancel_manual_post_importclasses\patreon_wordpress.php:108
authwp_ajax_patreon_wordpress_set_update_posts_optionclasses\patreon_wordpress.php:109
noprivwp_ajax_patreon_wordpress_set_update_posts_optionclasses\patreon_wordpress.php:110
authwp_ajax_patreon_wordpress_set_delete_posts_optionclasses\patreon_wordpress.php:111
noprivwp_ajax_patreon_wordpress_set_delete_posts_optionclasses\patreon_wordpress.php:112
authwp_ajax_patreon_wordpress_get_taxonomies_for_post_typeclasses\patreon_wordpress.php:113
noprivwp_ajax_patreon_wordpress_get_taxonomies_for_post_typeclasses\patreon_wordpress.php:114
authwp_ajax_patreon_wordpress_get_terms_for_taxonomyclasses\patreon_wordpress.php:115
noprivwp_ajax_patreon_wordpress_get_terms_for_taxonomyclasses\patreon_wordpress.php:116
authwp_ajax_patreon_wordpress_save_post_sync_categoryclasses\patreon_wordpress.php:117
noprivwp_ajax_patreon_wordpress_save_post_sync_categoryclasses\patreon_wordpress.php:118
authwp_ajax_patreon_wordpress_set_post_author_for_post_syncclasses\patreon_wordpress.php:119
noprivwp_ajax_patreon_wordpress_set_post_author_for_post_syncclasses\patreon_wordpress.php:120
authwp_ajax_patreon_wordpress_disconnect_patreon_accountclasses\patreon_wordpress.php:122
noprivwp_ajax_patreon_wordpress_disconnect_patreon_accountclasses\patreon_wordpress.php:123

Shortcodes 1

[patreon_login_button] classes\patreon_frontend.php:29
WordPress Hooks 73
actionadmin_enqueue_scriptsclasses\patreon_admin_pointers.php:13
filterpatreon-admin-pointers-dashboardclasses\patreon_admin_pointers.php:14
filterpatreon-admin-pointers-dashboardclasses\patreon_admin_pointers.php:15
filterpatreon-admin-pointers-dashboardclasses\patreon_admin_pointers.php:16
actioninitclasses\patreon_compatibility.php:16
actionwpclasses\patreon_compatibility.php:17
actionadmin_initclasses\patreon_compatibility.php:18
actionadmin_initclasses\patreon_compatibility.php:19
filtertemplate_redirectclasses\patreon_compatibility.php:21
filterjetpack_photon_skip_imageclasses\patreon_compatibility.php:24
filterpmpro_has_membership_access_filterclasses\patreon_compatibility.php:28
filterptrn/lock_or_notclasses\patreon_compatibility.php:29
filterpmpro_has_membership_access_filterclasses\patreon_compatibility.php:606
filtercontent_save_preclasses\patreon_content_sync.php:248
filtercontent_filtered_save_preclasses\patreon_content_sync.php:249
filtercontent_save_preclasses\patreon_content_sync.php:355
filtercontent_filtered_save_preclasses\patreon_content_sync.php:356
actionlogin_enqueue_scriptsclasses\patreon_frontend.php:16
actionwp_enqueue_scriptsclasses\patreon_frontend.php:17
actionwp_headclasses\patreon_frontend.php:18
actionwp_enqueue_scriptsclasses\patreon_frontend.php:19
actionadmin_enqueue_scriptsclasses\patreon_frontend.php:20
actionlogin_formclasses\patreon_frontend.php:21
actionlogin_formclasses\patreon_frontend.php:22
actionregister_formclasses\patreon_frontend.php:23
actionregister_formclasses\patreon_frontend.php:24
filterthe_contentclasses\patreon_frontend.php:25
filterptrn/label_text_over_universal_buttonclasses\patreon_frontend.php:27
filterptrn/valid_patron_final_footerclasses\patreon_frontend.php:28
filterget_avatarclasses\patreon_frontend.php:30
actionadd_meta_boxesclasses\patreon_metabox.php:12
actionsave_postclasses\patreon_metabox.php:13
actionadmin_menuclasses\patreon_options.php:13
actionadmin_initclasses\patreon_options.php:14
filterattachment_fields_to_editclasses\patreon_protect.php:14
filterattachment_fields_to_saveclasses\patreon_protect.php:15
filterthe_contentclasses\patreon_protect.php:16
actionplugins_loadedclasses\patreon_protect.php:21
actiongenerate_rewrite_rulesclasses\patreon_routing.php:12
filterquery_varsclasses\patreon_routing.php:13
actionparse_requestclasses\patreon_routing.php:14
actioninitclasses\patreon_routing.php:15
actionshow_user_profileclasses\patreon_user_profiles.php:12
actionedit_user_profileclasses\patreon_user_profiles.php:13
actionpersonal_options_updateclasses\patreon_user_profiles.php:14
actionedit_user_profile_updateclasses\patreon_user_profiles.php:15
actionuser_profile_update_errorsclasses\patreon_user_profiles.php:16
actionwp_headclasses\patreon_wordpress.php:67
actioninitclasses\patreon_wordpress.php:68
actionadmin_initclasses\patreon_wordpress.php:69
actioninitclasses\patreon_wordpress.php:70
actioninitclasses\patreon_wordpress.php:71
actioninitclasses\patreon_wordpress.php:72
actionadmin_initclasses\patreon_wordpress.php:73
actionadmin_initclasses\patreon_wordpress.php:78
actionupdate_option_patreon-client-idclasses\patreon_wordpress.php:79
actionupdate_option_patreon-client-secretclasses\patreon_wordpress.php:80
actionupdate_option_patreon-creators-access-tokenclasses\patreon_wordpress.php:81
actionupdate_option_patreon-creators-refresh-tokenclasses\patreon_wordpress.php:82
actioninitclasses\patreon_wordpress.php:84
actioninitclasses\patreon_wordpress.php:85
actioninitclasses\patreon_wordpress.php:86
actioninitclasses\patreon_wordpress.php:87
actioninitclasses\patreon_wordpress.php:88
actionadmin_enqueue_scriptsclasses\patreon_wordpress.php:89
actionupgrader_process_completeclasses\patreon_wordpress.php:90
actionadmin_noticesclasses\patreon_wordpress.php:91
actionadmin_initclasses\patreon_wordpress.php:92
actionadmin_initclasses\patreon_wordpress.php:93
filterpre_set_site_transient_update_pluginsclasses\patreon_wordpress.php:94
filtercron_schedulesclasses\patreon_wordpress.php:121
actionpatreon_five_minute_actionclasses\patreon_wordpress.php:130
actionwidgets_initincludes\patreon_widgets.php:80

Scheduled Events 1

patreon_five_minute_action
Maintenance & Trust

Patreon WordPress Maintenance & Trust

Maintenance Signals

WordPress version tested6.8.5
Last updatedOct 30, 2025
PHP min version7.4
Downloads284K

Community Trust

Rating72/100
Number of ratings51
Active installs3K
Developer Profile

Patreon WordPress Developer Profile

patreon

1 plugin · 3K total installs

70
trust score
Avg Security Score
87/100
Avg Patch Time
784 days
View full developer profile
Detection Fingerprints

How We Detect Patreon WordPress

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/patreon-connect/assets/js/patreon-connect-admin.js/wp-content/plugins/patreon-connect/assets/css/patreon-connect-admin.css/wp-content/plugins/patreon-connect/assets/js/patreon-connect.js/wp-content/plugins/patreon-connect/assets/css/patreon-connect.css
Script Paths
/wp-content/plugins/patreon-connect/assets/js/patreon-connect-admin.js/wp-content/plugins/patreon-connect/assets/js/patreon-connect.js
Version Parameters
patreon-connect/assets/css/patreon-connect-admin.css?ver=patreon-connect/assets/css/patreon-connect.css?ver=patreon-connect/assets/js/patreon-connect-admin.js?ver=patreon-connect/assets/js/patreon-connect.js?ver=

HTML / DOM Fingerprints

CSS Classes
patreon-connect-wrapper
Data Attributes
data-patreon-connect-client-iddata-patreon-connect-redirect-uridata-patreon-connect-api-keydata-patreon-connect-api-secretdata-patreon-connect-button-text
JS Globals
PatreonConnect
Shortcode Output
[patreon_connect][patreon_connect_button][patreon_connect_login][patreon_connect_login_url]
FAQ

Frequently Asked Questions about Patreon WordPress