WP User Profiles Security & Risk Analysis

wordpress.org/plugins/wp-user-profiles

WP User Profiles is a sophisticated way to edit users in WordPress.

300 active installs v2.6.2 PHP 7.2+ WP 5.2+ Updated Mar 26, 2026
editmetaboxprofileuser
77
B · Generally Safe
CVEs total1
Unpatched1
Last CVEApr 8, 2025
Safety Verdict

Is WP User Profiles Safe to Use in 2026?

Mostly Safe

Score 77/100

WP User Profiles is generally safe to use. 1 past CVE were resolved.

1 known CVE 1 unpatched Last CVE: Apr 8, 2025Updated 1mo ago
Risk Assessment

The wp-user-profiles plugin v2.6.2 exhibits a mixed security posture. On the positive side, the code demonstrates strong adherence to secure coding practices by exclusively using prepared statements for SQL queries and having a high percentage of properly escaped output. Furthermore, it performs a reasonable number of capability checks and includes nonce checks for its entry points. However, significant security concerns arise from the attack surface. All three identified AJAX handlers lack authentication checks, presenting a direct pathway for unauthorized actions. The single external HTTP request is also a potential area for vulnerability if not properly handled. The plugin's vulnerability history, specifically a high-severity, unpatched CVE related to Improper Privilege Management, is a critical red flag that overshadows the positive coding practices. This suggests a recurring pattern of security weaknesses that have not been fully addressed, increasing the risk of exploitation.

Key Concerns

  • Unprotected AJAX handlers
  • Unpatched High severity CVE
  • Flow with unsanitized paths
  • External HTTP request present
Vulnerabilities
1 published

WP User Profiles Security Vulnerabilities

CVEs by Year

1 CVE in 2025 · unpatched
2025
Patched Has unpatched

Severity Breakdown

High
1

1 total CVE

CVE-2025-31524high · 8.8Improper Privilege Management

WP User Profiles <= 2.6.2 - Authenticated (Subscriber+) Privilege Escalation

Apr 8, 2025Unpatched
Version History

WP User Profiles Release Timeline

v2.6.2Current1 CVE
Code Analysis
Analyzed Mar 16, 2026

WP User Profiles Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
0 prepared
Unescaped Output
21
102 escaped
Nonce Checks
2
Capability Checks
20
File Operations
0
External Requests
1
Bundled Libraries
0

Output Escaping

83% escaped123 total outputs
Data Flows · Security
1 unsanitized

Data Flow Analysis

7 flows1 with unsanitized paths
wp_user_profiles_filter_role_column (wp-user-profiles\includes\metaboxes\sites-list.php:166)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
3 unprotected

WP User Profiles Attack Surface

Entry Points3
Unprotected3

AJAX Handlers 3

authwp_ajax_wp_user_profiles_common_roleswp-user-profiles\includes\hooks.php:62
authwp_ajax_wp_user_profiles_export_roleswp-user-profiles\includes\hooks.php:63
noprivwp_ajax_wp_user_profiles_export_roleswp-user-profiles\includes\hooks.php:64
WordPress Hooks 41
actioninitwp-user-profiles\includes\hooks.php:13
actioninitwp-user-profiles\includes\hooks.php:16
actioninitwp-user-profiles\includes\hooks.php:17
actioninitwp-user-profiles\includes\hooks.php:18
actioninitwp-user-profiles\includes\hooks.php:19
actioninitwp-user-profiles\includes\hooks.php:20
actioninitwp-user-profiles\includes\hooks.php:21
actioninitwp-user-profiles\includes\hooks.php:24
actionadmin_menuwp-user-profiles\includes\hooks.php:27
actionnetwork_admin_menuwp-user-profiles\includes\hooks.php:28
actionuser_admin_menuwp-user-profiles\includes\hooks.php:29
actionwp_user_profiles_do_admin_headwp-user-profiles\includes\hooks.php:32
actionwp_user_profiles_do_admin_headwp-user-profiles\includes\hooks.php:33
actionwp_user_profiles_do_admin_loadwp-user-profiles\includes\hooks.php:34
actionwp_user_profiles_do_admin_loadwp-user-profiles\includes\hooks.php:35
actionwp_user_profiles_do_admin_loadwp-user-profiles\includes\hooks.php:36
actionwp_user_profiles_add_meta_boxeswp-user-profiles\includes\hooks.php:39
actionwp_user_profiles_admin_noticeswp-user-profiles\includes\hooks.php:42
actionadmin_initwp-user-profiles\includes\hooks.php:45
filterwp_user_profiles_savewp-user-profiles\includes\hooks.php:46
actionwp_user_profiles_get_admin_noticeswp-user-profiles\includes\hooks.php:47
filterwp_user_profiles_save_permissions_sectionwp-user-profiles\includes\hooks.php:48
filtermap_meta_capwp-user-profiles\includes\hooks.php:51
filterload-profile.phpwp-user-profiles\includes\hooks.php:54
filterload-user-edit.phpwp-user-profiles\includes\hooks.php:55
filteredit_profile_urlwp-user-profiles\includes\hooks.php:58
filterget_edit_user_linkwp-user-profiles\includes\hooks.php:59
filterwp_user_profiles_show_other_sectionwp-user-profiles\includes\hooks.php:67
actionwp_user_profiles_nav_actionswp-user-profiles\includes\hooks.php:70
actionwp_user_profiles_nav_actionswp-user-profiles\includes\hooks.php:71
actionbp_initwp-user-profiles\includes\hooks.php:74
filterms_sites_list_table_query_argswp-user-profiles\includes\metaboxes\sites-list.php:38
filterviews_network-siteswp-user-profiles\includes\metaboxes\sites-list.php:63
filterbulk_actions-network-siteswp-user-profiles\includes\metaboxes\sites-list.php:64
filtermanage_sites_custom_columnwp-user-profiles\includes\metaboxes\sites-list.php:65
filterscreen_options_show_screenwp-user-profiles\includes\screen-options.php:19
filterwp_user_profiles_savewp-user-profiles\includes\sections\base.php:177
actionwp_user_profiles_add_meta_boxeswp-user-profiles\includes\sections\base.php:180
actionwp_user_profiles_add_contextual_helpwp-user-profiles\includes\sections\base.php:183
actionadmin_initwp-user-profiles\includes\sponsor.php:17
actionplugins_loadedwp-user-profiles.php:75
Maintenance & Trust

WP User Profiles Maintenance & Trust

Maintenance Signals

WordPress version tested6.6.5
Last updatedMar 26, 2026
PHP min version7.2
Downloads34K

Community Trust

Rating86/100
Number of ratings19
Active installs300
Developer Profile

WP User Profiles Developer Profile

John James Jacoby

28 plugins · 331K total installs

76
trust score
Avg Security Score
95/100
Avg Patch Time
1401 days
View full developer profile
Detection Fingerprints

How We Detect WP User Profiles

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/wp-user-profiles/assets/css/user-profiles.css/wp-content/plugins/wp-user-profiles/assets/css/min/ltr/user-profiles.css/wp-content/plugins/wp-user-profiles/assets/css/min/rtl/user-profiles.css/wp-content/plugins/wp-user-profiles/assets/js/user-profiles.js/wp-content/plugins/wp-user-profiles/assets/js/app-passwords.js
Script Paths
/wp-content/plugins/wp-user-profiles/assets/js/user-profiles.js/wp-content/plugins/wp-user-profiles/assets/js/app-passwords.js
Version Parameters
wp-user-profiles/assets/css/user-profiles.css?ver=wp-user-profiles/assets/css/min/ltr/user-profiles.css?ver=wp-user-profiles/assets/css/min/rtl/user-profiles.css?ver=wp-user-profiles/assets/js/user-profiles.js?ver=wp-user-profiles/assets/js/app-passwords.js?ver=

HTML / DOM Fingerprints

CSS Classes
wp-user-profiles-admin-wrapwp-user-profiles-sectionwp-user-profiles-metabox
Data Attributes
data-wp-user-profiles-sectiondata-wp-user-profiles-metabox
JS Globals
wpUserProfile
FAQ

Frequently Asked Questions about WP User Profiles