CVE-2026-18345
MediumCVSS 4.3Exploitation Probability (EPSS)
Low risk10th percentile - higher than 10% of all known CVEs
Summary
The WP User Manager plugin for WordPress in versions up to and including 2.9.18 is vulnerable to unauthorized modification of data due to a missing capability check on the Connect::complete() function. The function is registered on the admin_init hook and performs no current_user_can() or nonce verification before fetching Stripe credentials and writing them into the wpum_settings option. An authenticated attacker with Subscriber-level access or higher can hijack the site's Stripe integration, routing all payments to their own Stripe account.
Risk Assessment
An attacker can redirect all Stripe payments to their own account, leading to financial losses and compromised transaction security.
Recommendation
Update the WP User Manager plugin to a version newer than 2.9.18 as soon as it becomes available.
Other vulnerabilities in WP User Manager
See all- CVE-2026-112823Medium
The WordPress WP User Manager plugin through 2.9.25 contains a Missing Authorization vulnerability that allows manipulating user state. This may allow unauthorized users to change the state of other users' accounts.
- CVE-2026-49766Critical
The WP User Manager plugin versions up to 2.9.16 contain a vulnerability that allows subscribers to delete arbitrary files.
- CVE-2026-116846Medium
The WP User Manager plugin (up to version 2.9.26) has a missing authorization vulnerability that allows exploitation of incorrectly configured access control security levels. An unauthorized user may perform operations requiring higher privileges.
- CVE-2026-108496Medium
The WordPress plugin WP User Manager (up to version 2.9.24) contains a missing authorization vulnerability that allows exploitation of incorrectly configured access control security levels. This may permit unauthorized access to user management functions.
- CVE-2026-107423Medium
Missing authorization in the WP User Manager plugin. Incorrectly configured access control security levels can be exploited by unauthorized users.
- CVE-2026-103085Medium
The WP User Manager plugin for WordPress up to version 2.9.20 contains an Improper Access Control vulnerability that allows Privilege Abuse. This results from incorrect access control.
- CVE-2026-94079Medium
Broken Access Control vulnerability in the WP User Manager plugin in versions up to and including 2.9.19. The vulnerability can be exploited by an unauthenticated attacker.
- CVE-2026-9290High
The WP User Manager – User Profile Builder & Membership plugin for WordPress up to version 2.9.17 has a Local File Inclusion vulnerability in the profile template scope function. Unauthenticated attackers can include and execute arbitrary .php files on the server, allowing access control bypass, sensitive data disclosure, or code execution.
- CVE-2025-13320Medium
The WP User Manager plugin for WordPress is vulnerable to Arbitrary File Deletion in all versions up to, and including, 2.9.12. This is due to insufficient validation of user-supplied file paths in the profile update functionality combined with improper handling of array inputs by PHP's filter_input() function. This makes it possible for authenticated attackers, with Subscriber-level access and above, to delete arbitrary files on the server via the 'current_user_avatar' parameter in a two-stage attack which can make remote code execution possible.
Original NVD description (English source)
The WP User Manager plugin for WordPress is vulnerable to unauthorized modification of data due to a missing capability check on the Connect::complete() function in versions up to, and including, 2.9.18. The function is registered on the admin_init hook (which fires for every authenticated user that reaches /wp-admin/, including Subscribers) and performs no current_user_can() or nonce verification before fetching Stripe credentials from the external WPUM connect service and writing them (publishable key, secret key, gateway mode, and connected Stripe account ID) into the wpum_settings option via wpum_update_option()/update_option(). This makes it possible for authenticated attackers, with Subscriber-level access and above, to hijack the site's Stripe integration by completing their own Stripe Connect OAuth flow and then invoking the callback on the target site, causing all subsequent Stripe payments to be routed to the attacker's Stripe account.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

