Wishlist Member X <= 3.34.1 - Unauthenticated Account Takeover via 'mergewith' Parameter

9.8
Weak Password Recovery Mechanism for Forgotten Password
CVE CVE-2026-12949
CVSS 9.8 (Critical)
Publicly Published August 13, 2026
Last Updated August 14, 2026
Researcher bashu - VN

Description

The Wishlist Member plugin for WordPress is vulnerable to Account Takeover via Insufficient Verification of Data Authenticity in versions up to and including 3.34.1. This is due to the wpm_register() function validating the registration cookie only against the GET reg parameter while accepting the POST mergewith and POST wpm_id parameters without verifying that the mergewith user ID references a temporary or incomplete registrant that is bound to the current registration transaction. This makes it possible for unauthenticated attackers to take over any existing WordPress account — including administrator accounts — by supplying an arbitrary user's numeric ID as the mergewith value, which causes wp_update_user() to overwrite the target account's username (additionally written via a direct $wpdb UPDATE), password, email address, first name, and last name with attacker-controlled values, while WordPress password and email change notification emails are explicitly suppressed. When wpm_id references a non-existent membership level, no role key is added to the update payload, causing wp_update_user() to preserve the target user's existing role — including administrator — making full privilege escalation a direct consequence of the takeover.

References

Share

Vulnerability Details for Wishlist Member

Software Type Plugin
Software Slug wishlist-member-x
Patched? Yes
Remediation Update to version 3.34.2, or a newer patched version
Affected Version
  • <= 3.34.1
Patched Version
  • 3.34.2

Recent vulnerabilities in Wishlist Member

# Title CVE ID CVSS Researchers Date
1 Wishlist Member <= 3.30.1 - Missing Authorization to Authenticated (Subscriber+) API Secret Key Disclosure and Privilege Escalation via 'wlm3_export_settings' AJAX Action CVE-2026-6895 8.8 h0xilo May 22, 2026
2 Wishlist Member <= 3.32.0 - Missing Authorization to Authenticated (Subscriber+) Arbitrary Plugin Options Update via 'wishlistmember_team_accounts_save_settings' AJAX action CVE-2026-6897 8.8 h0xilo May 22, 2026
3 WishList Member <= 3.30.1 - Missing Authorization to Authenticated (Subscriber+) Generate API Secret Key via 'wlm3_generate_api_key' AJAX action CVE-2026-6898 8.8 h0xilo May 22, 2026
4 Wishlist Member <= 3.30.1 - Missing Authorization to Authenticated (Subscriber+) API Secret Key Disclosure and Privilege Escalation via 'wlm3_get_screen' AJAX action CVE-2026-6419 8.8 h0xilo May 22, 2026
5 Wishlist Member <= 3.32.0 - Authenticated (Subscriber+) PHP Object Injection CVE-2026-25445 7.5 0xd4rk5id3 March 18, 2026
6 Wishlist Member <= 3.32.0 - Authenticated (Subscriber+) Arbitrary File Upload CVE-2026-25446 8.8 Jarno Vos (jarnovos) March 18, 2026
7 WishList Member X <= 3.32.0 - Missing Authorization CVE-2026-24575 4.3 0xd4rk5id3 January 20, 2026
8 WishList Member X < 3.26.7 - Unauthenticated Information Exposure CVE-2024-37113 5.3 Dave Jong June 20, 2024
9 WishList Member X <= 3.25.1 - Unauthenticated Arbitrary SQL Execution CVE-2024-37112 10.0 Dave Jong June 20, 2024
10 WishList Member X < 3.26.7 - Unauthenticated Denial of Service CVE-2024-37111 5.3 Dave Jong June 20, 2024

Did you know Wordfence Intelligence provides free personal and commercial API access to our comprehensive WordPress vulnerability database, along with a free webhook integration to stay on top of the latest vulnerabilities added and updated in the database? Get started today!

Learn more

Want to get notified of the latest vulnerabilities that may affect your WordPress site?
Install Wordfence on your site today to get notified immediately if your site is affected by a vulnerability that has been added to our database.

Get Wordfence

The Wordfence Intelligence WordPress vulnerability database is completely free to access and query via API. Please review the documentation on how to access and consume the vulnerability data via API.

Documentation