PublishPress Capabilities – User Role Editor, Access Permissions, User Capabilities, Admin Menus Security & Risk Analysis

wordpress.org/plugins/capability-manager-enhanced

PublishPress Capabilities is the access control plugin. You can manage user capabilities, permissions, user roles, admin menus and more.

100K active installs v2.40.0 PHP 7.2.5+ WP 5.5+ Updated Mar 4, 2026
admin-menuscapabilitiespermissionsuser-role-editoruser-roles
96
A · Safe
CVEs total4
Unpatched0
Last CVEOct 10, 2022
Safety Verdict

Is PublishPress Capabilities – User Role Editor, Access Permissions, User Capabilities, Admin Menus Safe to Use in 2026?

Generally Safe

Score 96/100

PublishPress Capabilities – User Role Editor, Access Permissions, User Capabilities, Admin Menus has a strong security track record. Known vulnerabilities have been patched promptly.

4 known CVEsLast CVE: Oct 10, 2022Updated 1mo ago
Risk Assessment

The capability-manager-enhanced plugin v2.40.0 exhibits a mixed security posture, with several positive indicators but also notable areas of concern. The plugin demonstrates a good understanding of secure coding practices with a high percentage of SQL queries using prepared statements and a strong adherence to output escaping. The significant number of nonce and capability checks (42 and 84 respectively) also suggests an effort to protect against common WordPress attacks. However, the presence of 4 AJAX handlers without authentication checks is a significant vulnerability that could allow unauthorized users to perform actions. Furthermore, the taint analysis reveals 3 high-severity flows with unsanitized paths, indicating potential for logic flaws or injection vulnerabilities if not carefully handled. The plugin's vulnerability history is a major red flag. With 4 previously disclosed CVEs, including one critical and two high-severity, the plugin has a track record of security issues. The common vulnerability types also point to recurring problems like deserialization, XSS, authorization bypass, and SQL injection. While there are currently no unpatched vulnerabilities, the past indicates a persistent need for vigilance and thorough auditing. Overall, while the plugin has implemented some good security practices, the identified unprotected AJAX endpoints, critical taint flows, and historical vulnerability patterns necessitate a cautious approach and prompt updates.

Key Concerns

  • Unprotected AJAX handlers
  • High severity unsanitized paths (taint analysis)
  • History of 4 CVEs (1 critical, 2 high)
Vulnerabilities
4

PublishPress Capabilities – User Role Editor, Access Permissions, User Capabilities, Admin Menus Security Vulnerabilities

CVEs by Year

1 CVE in 2018
2018
1 CVE in 2021
2021
2 CVEs in 2022
2022
Patched Has unpatched

Severity Breakdown

Critical
1
High
2
Medium
1

4 total CVEs

CVE-2022-3366high · 7.2Deserialization of Untrusted Data

PublishPress Capabilities <= 2.5.1 - Authenticated (Administrator+) PHP Object Injection

Oct 10, 2022 Patched in 2.5.2 (470d)
WF-6ea36692-2bf3-490d-8293-7de6dcc5e5c9-capability-manager-enhancedmedium · 6.1Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

PublishPress Capabilities <= 2.3.2 - Reflected Cross-Site Scripting

Jan 13, 2022 Patched in 2.3.3 (740d)
CVE-2021-25032critical · 9.8Missing Authorization

PublishPress Capabilities <= 2.3 - Unauthenticated Arbitrary Options Update

Dec 8, 2021 Patched in 2.3.1 (776d)
WF-c48091fc-c11d-4753-9763-e1face3723fe-capability-manager-enhancedhigh · 7.2Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')

PublishPress Capabilities <= 1.5.8 - Authenticated SQL Injection

Jun 20, 2018 Patched in 1.5.9 (2043d)
Code Analysis
Analyzed Mar 16, 2026

PublishPress Capabilities – User Role Editor, Access Permissions, User Capabilities, Admin Menus Code Analysis

Dangerous Functions
0
Raw SQL Queries
7
8 prepared
Unescaped Output
144
1112 escaped
Nonce Checks
42
Capability Checks
84
File Operations
1
External Requests
0
Bundled Libraries
1

Bundled Libraries

jQuery

SQL Query Safety

53% prepared15 total queries

Output Escaping

89% escaped1256 total outputs
Data Flows
22 unsanitized

Data Flow Analysis

25 flows22 with unsanitized paths
search_box (includes\roles\class\class-pp-roles-list-table.php:568)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
4 unprotected

PublishPress Capabilities – User Role Editor, Access Permissions, User Capabilities, Admin Menus Attack Surface

Entry Points12
Unprotected4

AJAX Handlers 12

authwp_ajax_save_dashboard_feature_by_ajaxincludes\admin-load.php:33
authwp_ajax_ppc_update_admin_feature_settingsincludes\admin-load.php:36
authwp_ajax_ppc_admin_notice_actionincludes\admin-notices\admin-notices.php:27
authwp_ajax_ppc_submit_frontend_element_by_ajaxincludes\features\frontend-features\frontend-features-action.php:28
authwp_ajax_ppc_delete_frontend_feature_item_by_ajaxincludes\features\frontend-features\frontend-features-action.php:30
authwp_ajax_ppc_update_profile_features_element_by_ajaxincludes\features\restrict-profile-features.php:14
authwp_ajax_ppc_set_profile_features_roleincludes\features\restrict-profile-features.php:16
authwp_ajax_pp-roles-add-roleincludes\manager.php:166
authwp_ajax_pp-roles-delete-roleincludes\manager.php:167
authwp_ajax_pp-roles-hide-roleincludes\manager.php:170
authwp_ajax_pp-roles-unhide-roleincludes\manager.php:171
authwp_ajax_ppc_search_test_user_by_ajaxincludes\test-user-ui.php:21
WordPress Hooks 181
actionplugins_loadedcapsman-enhanced.php:69
actionadmin_noticescapsman-enhanced.php:79
filterplugin_row_metacapsman-enhanced.php:105
actioninitcapsman-enhanced.php:158
actionplugins_loadedcapsman-enhanced.php:159
actioninitcapsman-enhanced.php:161
actioninitincludes\admin-load.php:26
actionadmin_initincludes\admin-load.php:30
actionadmin_initincludes\admin-load.php:32
actionpp_capabilities_installincludes\admin-load.php:39
actionpp_capabilities_upgradeincludes\admin-load.php:43
actionadmin_initincludes\admin-load.php:47
actionwp_nav_menu_item_custom_fieldsincludes\admin-load.php:50
filtercme_publishpress_capabilities_capabilitiesincludes\admin-load.php:53
actionadmin_enqueue_scriptsincludes\admin-load.php:55
actionadmin_print_scriptsincludes\admin-load.php:56
actionprofile_updateincludes\admin-load.php:58
actionadd_user_to_blogincludes\admin-load.php:61
actionuser_registerincludes\admin-load.php:63
actioninitincludes\admin-load.php:65
actionadmin_menuincludes\admin-load.php:83
actioninitincludes\admin-load.php:86
filterpublishpress_wp_reviews_display_banner_capability-manager-enhancedincludes\admin-load.php:103
filterpp_capabilities_feature_post_typesincludes\admin-load.php:111
filterblock_editor_settings_allincludes\admin-load.php:112
filterclassic_editor_enabled_editors_for_post_typeincludes\admin-load.php:113
filterclassic_editor_plugin_settingsincludes\admin-load.php:114
actionpp-capabilities-settings-uiincludes\admin-load.php:125
actionactivated_pluginincludes\admin-load.php:128
actionadmin_initincludes\admin-load.php:130
filterplugin_action_linksincludes\admin-load.php:132
filterplugin_row_metaincludes\admin-load.php:133
actionadmin_enqueue_scriptsincludes\admin-notices\admin-notices.php:15
actionadmin_bar_menuincludes\admin-notices\admin-notices.php:23
actionadmin_footerincludes\admin-notices\admin-notices.php:25
actioninitincludes\features\admin-styles\admin-styles.php:28
actionadmin_initincludes\features\admin-styles\admin-styles.php:138
actionadmin_initincludes\features\admin-styles\admin-styles.php:141
actionadmin_enqueue_scriptsincludes\features\admin-styles\admin-styles.php:147
filterget_user_option_admin_colorincludes\features\admin-styles\admin-styles.php:274
filterget_user_option_admin_colorincludes\features\admin-styles\admin-styles.php:282
actionadmin_headincludes\features\admin-styles\admin-styles.php:376
actionlogin_headincludes\features\admin-styles\admin-styles.php:380
actionadmin_head-profile.phpincludes\features\admin-styles\admin-styles.php:386
actionadmin_head-user-edit.phpincludes\features\admin-styles\admin-styles.php:387
filteradmin_footer_textincludes\features\admin-styles\admin-styles.php:394
filtergettextincludes\features\admin-styles\admin-styles.php:400
actionadmin_headincludes\features\admin-styles\admin-styles.php:407
actionlogin_headincludes\features\admin-styles\admin-styles.php:410
actionadd_meta_boxesincludes\features\frontend-features\frontend-features-metaboxes.php:26
actionsave_postincludes\features\frontend-features\frontend-features-metaboxes.php:28
actioninitincludes\features\frontend-features\frontend-features-restrict.php:26
filterbody_classincludes\features\frontend-features\frontend-features-restrict.php:28
actionwp_headincludes\features\frontend-features\frontend-features-restrict.php:30
actionpp_capabilities_frontend_features_frontendelements_before_subsection_trincludes\features\frontend-features\frontend-features-ui.php:24
filtershow_admin_barincludes\features\restrict-admin-features.php:356
actionadmin_headincludes\features\restrict-admin-features.php:358
actionwp_before_admin_bar_renderincludes\features\restrict-admin-features.php:360
actionwp_dashboard_setupincludes\features\restrict-admin-features.php:370
actionwp_network_dashboard_setupincludes\features\restrict-admin-features.php:371
filterscreen_options_show_screenincludes\features\restrict-admin-features.php:387
actionadmin_headincludes\features\restrict-admin-features.php:390
filteradmin_footer_textincludes\features\restrict-admin-features.php:393
filterupdate_footerincludes\features\restrict-admin-features.php:396
filterwp_default_editorincludes\features\restrict-editor-features.php:286
actionadmin_headincludes\features\restrict-editor-features.php:298
actionadmin_headincludes\features\restrict-profile-features.php:18
action_admin_menuincludes\filters-admin.php:17
actionadmin_menuincludes\filters-admin.php:18
filteruser_has_capincludes\filters-admin.php:27
filterwoocommerce_duplicate_product_capabilityincludes\filters-woocommerce.php:12
filterrest_pre_dispatchincludes\filters-wp_rest_workarounds.php:21
filteruser_has_capincludes\filters-wp_rest_workarounds.php:22
filterwp_insert_post_dataincludes\filters-wp_rest_workarounds.php:24
filteredit_post_statusincludes\filters-wp_rest_workarounds.php:25
filteruser_has_capincludes\filters-wp_rest_workarounds.php:26
actionadmin_print_styles-post.phpincludes\filters-wp_rest_workarounds.php:28
filtermap_meta_capincludes\filters.php:29
actionadmin_headincludes\filters.php:31
actionpublishpress_capabilities_loadedincludes\filters.php:54
filteruse_block_editor_for_post_typeincludes\functions-admin.php:110
filteruse_block_editor_for_post_typeincludes\functions-admin.php:160
actionregistered_post_typeincludes\functions.php:66
actionregistered_taxonomyincludes\functions.php:67
actionadmin_bar_menuincludes\functions.php:264
actionwp_before_admin_bar_renderincludes\functions.php:265
actioninitincludes\functions.php:278
actioninitincludes\functions.php:291
actioninitincludes\functions.php:304
actionuser_registerincludes\functions.php:344
filterwoocommerce_registration_redirectincludes\functions.php:371
filterlogin_redirectincludes\functions.php:425
filterwoocommerce_login_redirectincludes\functions.php:478
actionwp_footerincludes\functions.php:511
filterlogout_redirectincludes\functions.php:542
filterwp_authenticate_userincludes\functions.php:572
filterwoocommerce_prevent_admin_accessincludes\functions.php:595
filterwoocommerce_disable_admin_barincludes\functions.php:596
filterwp_get_nav_menu_itemsincludes\functions.php:1069
filterblock_core_navigation_render_inner_blocksincludes\functions.php:1253
actionwp_headincludes\functions.php:1385
actionparse_queryincludes\functions.php:1409
actionall_admin_noticesincludes\handler.php:118
actioninitincludes\manager.php:36
actioninitincludes\manager.php:146
actionadmin_menuincludes\manager.php:155
actionadmin_print_stylesincludes\manager.php:158
actionadmin_enqueue_scriptsincludes\manager.php:161
actioninitincludes\manager.php:164
actionadmin_initincludes\manager.php:175
actionadmin_initincludes\manager.php:178
actionadmin_initincludes\manager.php:181
filtereditable_rolesincludes\manager.php:278
filtermap_meta_capincludes\manager.php:281
actionadmin_menuincludes\manager.php:373
filtermanage_capabilities_page_pp-capabilities-roles_columnsincludes\manager.php:507
actionwpmu_new_blogincludes\network.php:9
filtercme_plugin_capabilitiesincludes\plugin-capabilities\all-in-one-seo-pack.php:15
filtercme_plugin_capabilitiesincludes\plugin-capabilities\amp.php:15
filtercme_plugin_capabilitiesincludes\plugin-capabilities\backwpup.php:15
filtercme_plugin_capabilitiesincludes\plugin-capabilities\bbpress.php:15
filtercme_plugin_capabilitiesincludes\plugin-capabilities\betterdocs.php:15
filtercme_plugin_capabilitiesincludes\plugin-capabilities\buddypress.php:15
filtercme_plugin_capabilitiesincludes\plugin-capabilities\download-monitor.php:15
filtercme_plugin_capabilitiesincludes\plugin-capabilities\duplicate-post.php:15
filtercme_plugin_capabilitiesincludes\plugin-capabilities\fluent-forms.php:15
filtercme_plugin_capabilitiesincludes\plugin-capabilities\fluentform.php:15
filtercme_plugin_capabilitiesincludes\plugin-capabilities\formidable.php:15
filtercme_plugin_capabilitiesincludes\plugin-capabilities\forminator.php:15
filtercme_plugin_capabilitiesincludes\plugin-capabilities\give.php:15
filtercme_plugin_capabilitiesincludes\plugin-capabilities\google-site-kit.php:15
filtercme_plugin_capabilitiesincludes\plugin-capabilities\gravityforms.php:15
filtercme_plugin_capabilitiesincludes\plugin-capabilities\gravityview.php:15
filtercme_plugin_capabilitiesincludes\plugin-capabilities\instagram-feed.php:15
filtercme_plugin_capabilitiesincludes\plugin-capabilities\loco-translate.php:15
filtercme_plugin_capabilitiesincludes\plugin-capabilities\mailoptin.php:15
filtercme_plugin_capabilitiesincludes\plugin-capabilities\mailpoet.php:15
filtercme_plugin_capabilitiesincludes\plugin-capabilities\nextgen-gallery.php:15
filtercme_plugin_capabilitiesincludes\plugin-capabilities\publishpress.php:13
filtercme_plugin_capabilitiesincludes\plugin-capabilities\query-monitor.php:15
filtercme_plugin_capabilitiesincludes\plugin-capabilities\seo-by-rank-math.php:15
filtercme_plugin_capabilitiesincludes\plugin-capabilities\sfwd-lms.php:15
filtercme_plugin_capabilitiesincludes\plugin-capabilities\smart-slider-3.php:15
filtercme_plugin_capabilitiesincludes\plugin-capabilities\squirrly-seo.php:15
filtercme_plugin_capabilitiesincludes\plugin-capabilities\strong-testimonials.php:15
filtercme_plugin_capabilitiesincludes\plugin-capabilities\sunshine-photo-cart.php:15
filtercme_plugin_capabilitiesincludes\plugin-capabilities\wordfence-login-security.php:15
filtercme_plugin_capabilitiesincludes\plugin-capabilities\wordfence.php:15
filtercme_plugin_capabilitiesincludes\plugin-capabilities\wordpress-seo.php:15
filtercme_plugin_capabilitiesincludes\plugin-capabilities\wp-seopress.php:15
filtercme_plugin_capabilitiesincludes\plugin-capabilities.php:21
filtercme_plugin_capabilitiesincludes\plugin-capabilities.php:23
filtercme_plugin_capabilitiesincludes\plugin-capabilities.php:25
filtercme_plugin_capabilitiesincludes\plugin-capabilities.php:27
filtercme_plugin_capabilitiesincludes\plugin-capabilities.php:29
filtercme_plugin_capabilitiesincludes\plugin-capabilities.php:31
filtercme_plugin_capabilitiesincludes\plugin-capabilities.php:33
filtercme_plugin_capabilitiesincludes\plugin-capabilities.php:35
filtercme_plugin_capabilitiesincludes\plugin-capabilities.php:37
filtercme_plugin_capabilitiesincludes\plugin-capabilities.php:39
actioninitincludes\settings-handler.php:9
filteruser_row_actionsincludes\test-user-ui.php:8
actionpersonal_optionsincludes\test-user-ui.php:10
actionwp_enqueue_scriptsincludes\test-user-ui.php:13
actionadmin_enqueue_scriptsincludes\test-user-ui.php:14
actionwp_footerincludes\test-user-ui.php:16
actionall_admin_noticesincludes\test-user-ui.php:17
actionwp_before_admin_bar_renderincludes\test-user-ui.php:19
actionwp_logoutincludes\test-user.php:21
actionwp_loginincludes\test-user.php:22
filterpp_capabilities_sub_menu_listsincludes-core\CoreAdmin.php:56
actionpp_capabilities_features_gutenberg_after_table_trincludes-core\CoreAdmin.php:59
actionpp_capabilities_features_classic_after_table_trincludes-core\CoreAdmin.php:60
filterpp_capabilities_admin_features_elementsincludes-core\CoreAdmin.php:63
filterpp_capabilities_admin_features_iconsincludes-core\CoreAdmin.php:64
filterpp_capabilities_admin_features_titlesincludes-core\CoreAdmin.php:65
actionpp_capabilities_admin_features_blockedbyurl_before_subsection_trincludes-core\CoreAdmin.php:66
actionpp_capabilities_admin_features_hidecsselement_before_subsection_trincludes-core\CoreAdmin.php:67
actionpp_capabilities_frontend_features_pagesincludes-core\CoreAdmin.php:70
actionpp_capabilities_frontend_features_metabox_post_typesincludes-core\CoreAdmin.php:73
filterpp_capabilities_dashboard_featuresincludes-core\CoreAdmin.php:75
Maintenance & Trust

PublishPress Capabilities – User Role Editor, Access Permissions, User Capabilities, Admin Menus Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedMar 4, 2026
PHP min version7.2.5
Downloads3.9M

Community Trust

Rating94/100
Number of ratings142
Active installs100K
Developer Profile

PublishPress Capabilities – User Role Editor, Access Permissions, User Capabilities, Admin Menus Developer Profile

PublishPress

11 plugins · 272K total installs

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

How We Detect PublishPress Capabilities – User Role Editor, Access Permissions, User Capabilities, Admin Menus

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/capability-manager-enhanced/assets/css/capability-manager-enhanced.css/wp-content/plugins/capability-manager-enhanced/assets/js/capability-manager-enhanced.js/wp-content/plugins/capability-manager-enhanced/assets/js/editor-helpers.js/wp-content/plugins/capability-manager-enhanced/assets/js/post-editor-helpers.js
Script Paths
/wp-content/plugins/capability-manager-enhanced/assets/js/capability-manager-enhanced.js/wp-content/plugins/capability-manager-enhanced/assets/js/editor-helpers.js/wp-content/plugins/capability-manager-enhanced/assets/js/post-editor-helpers.js
Version Parameters
capability-manager-enhanced/assets/css/capability-manager-enhanced.css?ver=capability-manager-enhanced/assets/js/capability-manager-enhanced.js?ver=capability-manager-enhanced/assets/js/editor-helpers.js?ver=capability-manager-enhanced/assets/js/post-editor-helpers.js?ver=

HTML / DOM Fingerprints

CSS Classes
pp-capabilities-admin-ui
HTML Comments
PublishPress Capabilities [Free]Admin execution controller: menu registration and other filters and actions that need to be loaded for every wp-admin URLThis module should not include full functions related to our own plugin screens.Instead, use these filter and action handlers to load other classes when needed.
Data Attributes
data-capability-manager-enhanced
JS Globals
PP_Capabilities_Admin_UIcme_publishpress_capabilities_capabilities
FAQ

Frequently Asked Questions about PublishPress Capabilities – User Role Editor, Access Permissions, User Capabilities, Admin Menus