Summary
An authorization bypass in the Ultimate Member WordPress plugin allows unauthenticated visitors to retrieve member profile fields intended to be visible only to profile owners, authenticated members, or selected roles. The risk arises when the publicly accessible member endpoint is queried with a nonce that is distributed to all site visitors and therefore does not provide meaningful authorization.
Affected context
The issue may occur in WordPress sites using the Ultimate Member plugin when member profile data is served through the publicly accessible wp_ajax_nopriv_um_get_members endpoint. It is particularly relevant when profile fields are configured with owner-only, members-only, or role-restricted visibility but the endpoint does not independently enforce those restrictions.
Exploit preconditions
- Attack surface: Publicly reachable WordPress AJAX functionality
- Required access: No authenticated account is required; an attacker only needs network access to the site
- Trigger point: Requests to the
wp_ajax_nopriv_um_get_membersendpoint - Required token condition: The
um-frontend-noncevalue is available to unauthenticated visitors - Why exploitation is possible: The endpoint does not adequately verify whether the requester is authorized to view the requested profile fields
Why this happens
The underlying flaw is an authorization enforcement failure mapped to CWE-862: Missing Authorization. The endpoint relies on a nonce that is emitted to anonymous visitors, but possession of that nonce does not establish ownership, membership, or role-based permission. Because the server-side handler does not consistently enforce the configured visibility rules before returning profile values, privacy restrictions can be bypassed.
Potential impact
- Unauthenticated attackers may view profile fields intended for restricted audiences
- Private member information could be disclosed
- Site users may experience loss of privacy and increased exposure to targeted abuse
- Organizations could face compliance, trust, or reputational consequences
General mitigation guidance
Mitigation generally focuses on enforcing authorization on the server for
every profile-data request rather than treating a client-distributed nonce
as proof of permission.
Defensive patterns include:
- Applying explicit ownership, authentication, membership, and role checks before returning each restricted field
- Treating nonces as request-integrity or cross-site request forgery defenses, not as authorization credentials
- Returning only fields permitted for the current requester and filtering responses by policy
- Using secure-by-default privacy settings for newly defined profile fields
- Minimizing anonymous endpoint functionality and limiting the data exposed by public queries
- Protecting sensitive profile values through least-privilege access controls and consistent policy enforcement
How teams detect issues like this
Organizations can look for this class of issue through:
- Static analysis and code review of AJAX handlers for missing capability, ownership, role, or authentication checks
- Tests that access profile endpoints anonymously and verify that restricted fields are omitted
- Review of client-side scripts for tokens or nonces exposed to unauthenticated users
- Dynamic monitoring for anonymous requests that enumerate member records or retrieve restricted attributes
- Policy checks requiring server-side authorization before sensitive data is serialized into responses
Automated security review tools may help identify public handlers that return user data without corresponding authorization logic.

