Advanced Access Manager – Access Governance for WordPress Security & Risk Analysis

wordpress.org/plugins/advanced-access-manager

Access Governance for WordPress. Control roles, users, content, admin areas, and APIs to prevent broken access controls and excessive privileges.

100K active installs v7.1.0 PHP 5.6.0+ WP 5.8.0+ Updated Mar 8, 2026
access-governanceapi-securityrestricted-contentsecurityuser-roles
95
A · Safe
CVEs total11
Unpatched0
Last CVEMar 20, 2024
Download
Safety Verdict

Is Advanced Access Manager – Access Governance for WordPress Safe to Use in 2026?

Generally Safe

Score 95/100

Advanced Access Manager – Access Governance for WordPress has a strong security track record. Known vulnerabilities have been patched promptly.

11 known CVEsLast CVE: Mar 20, 2024Updated 26d ago
Risk Assessment

The "advanced-access-manager" v7.1.0 plugin presents a mixed security posture. While it shows strengths in its use of prepared statements for SQL queries (94%) and a significant number of capability checks (66), several concerning areas exist. The static analysis reveals a substantial attack surface, with 3 out of 6 entry points lacking proper authorization checks. Furthermore, only 45% of output operations are properly escaped, leaving a significant risk of Cross-Site Scripting (XSS) vulnerabilities. The absence of taint analysis results and the lack of dangerous function calls are positive indicators, but the unprotected entry points and output escaping issues are critical oversight areas.

The plugin's vulnerability history is a major concern, with a total of 11 known CVEs, including a critical severity vulnerability. The historical prevalence of vulnerabilities such as Open Redirect, XSS, sensitive information exposure, authentication bypass, path traversal, and improper authorization suggests recurring security weaknesses in how user input is handled and access controls are implemented. While there are currently no unpatched vulnerabilities, the sheer number and variety of past issues, particularly the critical one, indicate a pattern of insecure coding practices that could resurface or be exploited.

In conclusion, the "advanced-access-manager" plugin v7.1.0 has some good foundational security practices like robust SQL sanitization and capability checks. However, the significant number of unprotected entry points, insufficient output escaping, and a history of numerous and severe vulnerabilities, including a critical one, collectively point to a high-risk plugin. Users should exercise extreme caution and prioritize patching and monitoring for any potential exploits.

Key Concerns

  • High number of unprotected REST API routes
  • High number of unprotected AJAX handlers
  • Low percentage of properly escaped outputs
  • History of 1 critical vulnerability
  • History of 3 high severity vulnerabilities
  • History of 7 medium severity vulnerabilities
  • History of authentication bypass vulnerabilities
  • History of path traversal vulnerabilities
  • History of improper authorization vulnerabilities
  • History of XSS vulnerabilities
  • History of open redirect vulnerabilities
  • History of sensitive information exposure
Vulnerabilities
11

Advanced Access Manager – Access Governance for WordPress Security Vulnerabilities

CVEs by Year

1 CVE in 2014
2014
1 CVE in 2016
2016
1 CVE in 2019
2019
2 CVEs in 2020
2020
1 CVE in 2021
2021
3 CVEs in 2023
2023
2 CVEs in 2024
2024
Patched Has unpatched

Severity Breakdown

Critical
1
High
3
Medium
7

11 total CVEs

CVE-2024-29127medium · 6.1Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Advanced Access Manager <= 6.9.20 - Reflected Cross-Site Scripting

Mar 20, 2024 Patched in 6.9.21 (1d)
CVE-2024-29124medium · 5.5Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Advanced Access Manager <= 6.9.20 - Authenticated (Administrator+) Stored Cross-Site Scripting

Mar 16, 2024 Patched in 6.9.21 (5d)
CVE-2023-51675medium · 4.3URL Redirection to Untrusted Site ('Open Redirect')

Advanced Access Manager <= 6.9.18 - Authenticated (Author+) Open Redirect

Dec 27, 2023 Patched in 6.9.19 (27d)
CVE-2023-51674medium · 6.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Advanced Access Manager <= 6.9.18 - Authenticated (Contributor+) Stored Cross-Site Scripting via Shortcode

Dec 27, 2023 Patched in 6.9.19 (27d)
CVE-2023-50881medium · 6.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Advanced Access Manager <= 6.9.15 - Authenticated (Contributor+) Stored Cross-Site Scripting

Dec 26, 2023 Patched in 6.9.16 (28d)
CVE-2021-24830medium · 4.8Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Advanced Access Manager <= 6.7.9 - Admin+ Stored Cross-Site Scripting

Oct 19, 2021 Patched in 6.8.0 (826d)
CVE-2020-35934medium · 4.3Exposure of Sensitive Information to an Unauthorized Actor

Advanced Access Manager <= 6.6.1 - Authenticated Information Disclosure

Aug 20, 2020 Patched in 6.6.2 (1251d)
CVE-2020-35935high · 7.5Authentication Bypass by Primary Weakness

Advanced Access Manager <= 6.6.1 - Authenticated Authorization Bypass and Privilege Escalation

Aug 14, 2020 Patched in 6.6.2 (1257d)
CVE-2019-25213critical · 9.8Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

Advanced Access Manager <= 5.9.8.1 - Unauthenticated Arbitrary File Read

Sep 9, 2019 Patched in 5.9.9 (1864d)

Advanced Access Manager <= 3.2.1 - Unrestricted AJAX Actions allowing Privilege Escalation

Jun 21, 2016 Patched in 3.2.2 (2772d)
CVE-2014-6059high · 7.2Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

Advanced Access Manager <= 2.8.2 - Arbitrary File Overwrite

Aug 20, 2014 Patched in 2.8.3 (3443d)
Code Analysis
Analyzed Mar 16, 2026

Advanced Access Manager – Access Governance for WordPress Code Analysis

Dangerous Functions
0
Raw SQL Queries
1
16 prepared
Unescaped Output
584
483 escaped
Nonce Checks
1
Capability Checks
66
File Operations
7
External Requests
1
Bundled Libraries
0

SQL Query Safety

94% prepared17 total queries

Output Escaping

45% escaped1067 total outputs
Attack Surface
3 unprotected

Advanced Access Manager – Access Governance for WordPress Attack Surface

Entry Points6
Unprotected3

AJAX Handlers 1

authwp_ajax_aamapplication\Backend\Manager.php:65

REST API Routes 3

GET/wp-json/aam/v2/jwt/validateapplication\Restful\BackwardCompatibility.php:35
GET/wp-json/aam/v2/jwt/refreshapplication\Restful\BackwardCompatibility.php:48
GET/wp-json/aam/v2/jwt/revokeapplication\Restful\BackwardCompatibility.php:61

Shortcodes 2

[aam] application\Service\Shortcodes.php:32
[aam-login] application\Service\Shortcodes.php:38
WordPress Hooks 175
actionset_current_useraam.php:197
actionwp_loginaam.php:205
actionplugins_loadedaam.php:301
actioninitaam.php:302
actionactivated_pluginaam.php:310
filteraam_ui_admin_toolbar_mode_panel_filterapplication\Backend\Feature\Main\AdminToolbar.php:44
filteraam_ui_api_route_mode_panel_filterapplication\Backend\Feature\Main\ApiRoute.php:44
filteraam_ui_backend_menu_mode_panel_filterapplication\Backend\Feature\Main\BackendMenu.php:44
filteraam_iframe_content_filterapplication\Backend\Feature\Main\Policy.php:43
actionaam_iframe_footer_actionapplication\Backend\Manager.php:40
actionedit_user_profileapplication\Backend\Manager.php:46
actionuser_new_formapplication\Backend\Manager.php:49
actionprofile_updateapplication\Backend\Manager.php:52
actionuser_registerapplication\Backend\Manager.php:53
actionadded_existing_userapplication\Backend\Manager.php:54
actionwpmu_activate_userapplication\Backend\Manager.php:55
action_user_admin_menuapplication\Backend\Manager.php:60
action_admin_menuapplication\Backend\Manager.php:61
filteruser_search_columnsapplication\Backend\Manager.php:68
filteradmin_footer_textapplication\Backend\Manager.php:74
actionadmin_initapplication\Backend\Manager.php:77
actionadmin_enqueue_scriptsapplication\Backend\Manager.php:85
filternetwork_admin_plugin_action_links_advanced-access-manager/aam.phpapplication\Backend\Manager.php:106
filterplugin_action_links_advanced-access-manager/aam.phpapplication\Backend\Manager.php:110
actioninitapplication\Framework\Manager.php:202
actionset_current_userapplication\Framework\Manager.php:239
filteraam_get_resource_filterapplication\Framework\Manager.php:247
filteraam_get_preference_filterapplication\Framework\Manager.php:267
actionrest_api_initapplication\Restful\AccessDeniedRedirect.php:42
actionrest_api_initapplication\Restful\AdminToolbar.php:42
actionrest_api_initapplication\Restful\ApiRoute.php:42
actionrest_api_initapplication\Restful\BackendMenu.php:42
actionrest_api_initapplication\Restful\BackwardCompatibility.php:33
actionrest_api_initapplication\Restful\Capability.php:42
actionrest_api_initapplication\Restful\Configs.php:42
actionrest_api_initapplication\Restful\Content.php:42
actionrest_api_initapplication\Restful\Identity.php:42
actionrest_api_initapplication\Restful\Jwt.php:42
actionrest_api_initapplication\Restful\LoginRedirect.php:42
actionrest_api_initapplication\Restful\LogoutRedirect.php:42
actionrest_api_initapplication\Restful\Metabox.php:42
filterrest_pre_dispatchapplication\Restful\Mu.php:42
actionrest_api_initapplication\Restful\Mu.php:61
filteraam_rest_get_access_level_filterapplication\Restful\Mu.php:87
filteraam_rest_get_error_response_filterapplication\Restful\Mu.php:95
actionaam_rest_register_routeapplication\Restful\Mu.php:103
actionrest_api_initapplication\Restful\NotFoundRedirect.php:42
actionrest_api_initapplication\Restful\Policies.php:42
actionrest_api_initapplication\Restful\Roles.php:32
actionrest_api_initapplication\Restful\SecureLogin.php:42
filtersend_auth_cookiesapplication\Restful\SecureLogin.php:95
actionrest_api_initapplication\Restful\SecurityAudit.php:54
actionrest_api_initapplication\Restful\Settings.php:42
actionrest_api_initapplication\Restful\Urls.php:42
actionrest_api_initapplication\Restful\Users.php:42
actionrest_api_initapplication\Restful\Widgets.php:42
actioninitapplication\Service\AccessDeniedRedirect.php:34
actionaam_initialize_ui_actionapplication\Service\AccessDeniedRedirect.php:51
actionaam_access_denied_redirect_handler_filterapplication\Service\AccessDeniedRedirect.php:56
actioninitapplication\Service\AdminToolbar.php:34
actionaam_initialize_ui_actionapplication\Service\AdminToolbar.php:50
actionwp_after_admin_bar_renderapplication\Service\AdminToolbar.php:57
actionwp_before_admin_bar_renderapplication\Service\AdminToolbar.php:62
actioninitapplication\Service\ApiRoute.php:33
actionaam_initialize_ui_actionapplication\Service\ApiRoute.php:50
filterrest_pre_dispatchapplication\Service\ApiRoute.php:56
actioninitapplication\Service\BackendMenu.php:33
actionaam_initialize_ui_actionapplication\Service\BackendMenu.php:50
filterparent_fileapplication\Service\BackendMenu.php:56
actionadmin_initapplication\Service\BackendMenu.php:72
filteraam_get_config_filterapplication\Service\Capability.php:49
actioninitapplication\Service\Capability.php:60
actionaam_initialize_ui_actionapplication\Service\Capability.php:77
filteraam_capability_description_filterapplication\Service\Capability.php:83
filteraam_get_config_filterapplication\Service\Content.php:58
actioninitapplication\Service\Content.php:69
actionaam_initialize_ui_actionapplication\Service\Content.php:86
actionadd_meta_boxesapplication\Service\Content.php:97
filterpost_password_requiredapplication\Service\Content.php:108
filterpost_password_expiresapplication\Service\Content.php:113
filterwp_get_nav_menu_itemsapplication\Service\Content.php:118
actionwpapplication\Service\Content.php:123
filterposts_clauses_requestapplication\Service\Content.php:137
filterthe_contentapplication\Service\Content.php:142
filtercomments_openapplication\Service\Content.php:150
filtermap_meta_capapplication\Service\Content.php:162
filterrest_request_before_callbacksapplication\Service\Content.php:167
filteraam_get_config_filterapplication\Service\Core.php:74
filteraam_init_config_filterapplication\Service\Core.php:84
actionset_current_userapplication\Service\Core.php:89
actioninitapplication\Service\Core.php:101
filtergettext_advanced-access-managerapplication\Service\Core.php:122
actionedit_user_profileapplication\Service\Core.php:132
actionaam_initialize_ui_actionapplication\Service\Core.php:140
actionaam_initialize_ui_actionapplication\Service\Core.php:149
filteraam_get_user_ip_address_filterapplication\Service\Core.php:156
actionaam_deny_access_actionapplication\Service\Core.php:163
actionadmin_bar_menuapplication\Service\Core.php:168
actionadmin_bar_menuapplication\Service\Core.php:183
actionwpapplication\Service\Core.php:214
filtermap_meta_capapplication\Service\Core.php:224
filterwp_authenticate_userapplication\Service\Core.php:229
filterxmlrpc_enabledapplication\Service\Core.php:234
filterrest_authentication_errorsapplication\Service\Core.php:245
actionadmin_noticesapplication\Service\Core.php:261
actionnetwork_admin_noticesapplication\Service\Core.php:266
actionuser_admin_noticesapplication\Service\Core.php:271
filterscreen_options_show_screenapplication\Service\Core.php:277
actionin_admin_headerapplication\Service\Core.php:280
filterget_sample_permalink_htmlapplication\Service\Core.php:285
filterwp_is_application_passwords_available_for_userapplication\Service\Core.php:290
filtershow_admin_barapplication\Service\Core.php:621
filteraam_init_settings_filterapplication\Service\Core.php:682
actioninitapplication\Service\Hooks.php:31
actioninitapplication\Service\Identity.php:52
actionaam_initialize_ui_actionapplication\Service\Identity.php:69
filtereditable_rolesapplication\Service\Identity.php:75
filterviews_usersapplication\Service\Identity.php:80
actionpre_get_usersapplication\Service\Identity.php:85
filterrest_user_queryapplication\Service\Identity.php:90
filtermap_meta_capapplication\Service\Identity.php:95
filtershow_password_fieldsapplication\Service\Identity.php:100
filterallow_password_resetapplication\Service\Identity.php:103
actioncheck_passwordsapplication\Service\Identity.php:106
filterrest_pre_insert_userapplication\Service\Identity.php:111
filteraam_get_config_filterapplication\Service\Jwt.php:50
filterdetermine_current_userapplication\Service\Jwt.php:59
actioninitapplication\Service\Jwt.php:66
actionaam_initialize_ui_actionapplication\Service\Jwt.php:83
actionaam_post_edit_user_modal_actionapplication\Service\Jwt.php:87
actionaam_reset_actionapplication\Service\Jwt.php:96
filteraam_rest_authenticated_user_data_filterapplication\Service\Jwt.php:105
filteraam_current_jwt_filterapplication\Service\Jwt.php:113
filteraam_get_config_filterapplication\Service\LoginRedirect.php:41
actioninitapplication\Service\LoginRedirect.php:52
actionaam_initialize_ui_actionapplication\Service\LoginRedirect.php:69
filteraam_rest_authenticated_user_data_filterapplication\Service\LoginRedirect.php:75
filterlogin_redirectapplication\Service\LoginRedirect.php:83
actioninitapplication\Service\LogoutRedirect.php:45
actionaam_initialize_ui_actionapplication\Service\LogoutRedirect.php:62
actionclear_auth_cookieapplication\Service\LogoutRedirect.php:68
actionwp_logoutapplication\Service\LogoutRedirect.php:77
actioninitapplication\Service\Metaboxes.php:34
actionaam_initialize_ui_actionapplication\Service\Metaboxes.php:51
actionin_admin_headerapplication\Service\Metaboxes.php:57
filternav_menu_meta_box_objectapplication\Service\Metaboxes.php:73
actioninitapplication\Service\NotFoundRedirect.php:33
actionaam_initialize_ui_actionapplication\Service\NotFoundRedirect.php:50
actionwpapplication\Service\NotFoundRedirect.php:55
actioninitapplication\Service\Policies.php:33
actionaam_initialize_ui_actionapplication\Service\Policies.php:77
actionadd_meta_boxesapplication\Service\Policies.php:82
filterwp_insert_post_dataapplication\Service\Policies.php:87
filteraam_rest_role_output_filterapplication\Service\Policies.php:93
filteraam_rest_user_output_filterapplication\Service\Policies.php:113
filteraam_get_config_filterapplication\Service\SecureLogin.php:45
actionwidgets_initapplication\Service\SecureLogin.php:57
actioninitapplication\Service\SecureLogin.php:61
actionaam_initialize_ui_actionapplication\Service\SecureLogin.php:78
filterlogin_messageapplication\Service\SecureLogin.php:84
filterauthenticateapplication\Service\SecureLogin.php:89
filterauth_cookieapplication\Service\SecureLogin.php:93
actionwp_login_failedapplication\Service\SecureLogin.php:97
actioninitapplication\Service\SecurityAudit.php:66
filteraam_security_scan_enabled_filterapplication\Service\SecurityAudit.php:81
actionaam_security_audit_cronapplication\Service\SecurityAudit.php:90
actionaam_uninstall_actionapplication\Service\SecurityAudit.php:94
actioninitapplication\Service\Urls.php:34
actionaam_initialize_ui_actionapplication\Service\Urls.php:51
actionaam_initialize_ui_actionapplication\Service\Welcome.php:32
actioninitapplication\Service\Widgets.php:41
actionaam_initialize_ui_actionapplication\Service\Widgets.php:88
actionin_admin_headerapplication\Service\Widgets.php:93
actionwidgets_admin_pageapplication\Service\Widgets.php:109
filtersidebars_widgetsapplication\Service\Widgets.php:114

Scheduled Events 1

aam_security_audit_cron
Maintenance & Trust

Advanced Access Manager – Access Governance for WordPress Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedMar 8, 2026
PHP min version5.6.0
Downloads7.4M

Community Trust

Rating84/100
Number of ratings420
Active installs100K
Developer Profile

Advanced Access Manager – Access Governance for WordPress Developer Profile

AAM Plugin

5 plugins · 101K total installs

73
trust score
Avg Security Score
91/100
Avg Patch Time
1046 days
View full developer profile
Detection Fingerprints

How We Detect Advanced Access Manager – Access Governance for WordPress

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/advanced-access-manager/app/core/base.css/wp-content/plugins/advanced-access-manager/app/core/base.js/wp-content/plugins/advanced-access-manager/app/core/helpers.js/wp-content/plugins/advanced-access-manager/app/core/vendors/vue.min.js/wp-content/plugins/advanced-access-manager/app/js/common.js/wp-content/plugins/advanced-access-manager/app/js/components/AAMInput.js/wp-content/plugins/advanced-access-manager/app/js/components/AAMList.js/wp-content/plugins/advanced-access-manager/app/js/components/AAMModal.js+29 more
Script Paths
/wp-content/plugins/advanced-access-manager/app/core/base.js/wp-content/plugins/advanced-access-manager/app/core/helpers.js/wp-content/plugins/advanced-access-manager/app/core/vendors/vue.min.js/wp-content/plugins/advanced-access-manager/app/js/common.js/wp-content/plugins/advanced-access-manager/app/js/components/AAMInput.js/wp-content/plugins/advanced-access-manager/app/js/components/AAMList.js+24 more
Version Parameters
/wp-content/plugins/advanced-access-manager/css/aam.css?ver=/wp-content/plugins/advanced-access-manager/css/aam-backend.css?ver=/wp-content/plugins/advanced-access-manager/css/aam-frontend.css?ver=/wp-content/plugins/advanced-access-manager/js/aam-backend.js?ver=/wp-content/plugins/advanced-access-manager/js/aam-frontend.js?ver=/wp-content/plugins/advanced-access-manager/js/aam.js?ver=/wp-content/plugins/advanced-access-manager/app/core/base.js?ver=/wp-content/plugins/advanced-access-manager/app/core/helpers.js?ver=/wp-content/plugins/advanced-access-manager/app/core/vendors/vue.min.js?ver=/wp-content/plugins/advanced-access-manager/app/js/common.js?ver=/wp-content/plugins/advanced-access-manager/app/js/components/AAMInput.js?ver=/wp-content/plugins/advanced-access-manager/app/js/components/AAMList.js?ver=/wp-content/plugins/advanced-access-manager/app/js/components/AAMModal.js?ver=/wp-content/plugins/advanced-access-manager/app/js/components/AAMSelect.js?ver=/wp-content/plugins/advanced-access-manager/app/js/components/AAMUser.js?ver=/wp-content/plugins/advanced-access-manager/app/js/main.js?ver=/wp-content/plugins/advanced-access-manager/app/js/modules/access.js?ver=/wp-content/plugins/advanced-access-manager/app/js/modules/capabilities.js?ver=/wp-content/plugins/advanced-access-manager/app/js/modules/content.js?ver=/wp-content/plugins/advanced-access-manager/app/js/modules/global.js?ver=/wp-content/plugins/advanced-access-manager/app/js/modules/hooks.js?ver=/wp-content/plugins/advanced-access-manager/app/js/modules/identity.js?ver=/wp-content/plugins/advanced-access-manager/app/js/modules/login.js?ver=/wp-content/plugins/advanced-access-manager/app/js/modules/policies.js?ver=/wp-content/plugins/advanced-access-manager/app/js/modules/rest.js?ver=/wp-content/plugins/advanced-access-manager/app/js/modules/security.js?ver=/wp-content/plugins/advanced-access-manager/app/js/modules/users.js?ver=/wp-content/plugins/advanced-access-manager/app/js/modules/widgets.js?ver=

HTML / DOM Fingerprints

CSS Classes
aam-input-wrapperaam-list-wrapperaam-modal-wrapperaam-select-wrapperaam-user-wrapperaam-backend-pageaam-settings-pageaam-access-page+11 more
HTML Comments
<!-- AAM --><!-- AAM: END --><!-- AAM_Backend_Manager --><!-- AAM_Backend_Manager: END -->+4 more
Data Attributes
data-aam-iddata-aam-labeldata-aam-typedata-aam-valuedata-aam-disableddata-aam-required+1 more
JS Globals
AAMAAM_ConfigAAM_Vars
REST Endpoints
/wp-json/aam/v1/items/wp-json/aam/v1/items/(?P<id>\d+)/wp-json/aam/v1/capabilities/wp-json/aam/v1/capabilities/(?P<id>\d+)/wp-json/aam/v1/users/wp-json/aam/v1/users/(?P<id>\d+)/wp-json/aam/v1/policies/wp-json/aam/v1/policies/(?P<id>\d+)/wp-json/aam/v1/hooks/wp-json/aam/v1/hooks/(?P<id>\d+)/wp-json/aam/v1/widgets/wp-json/aam/v1/widgets/(?P<id>\d+)
FAQ

Frequently Asked Questions about Advanced Access Manager – Access Governance for WordPress