CVE-2026-12949: Wishlist Member X <= 3.34.1 - Unauthenticated Account Takeover via 'mergewith' Parameter
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.
Security readout for executives and security teams
Plain-English summary
A remote, unauthenticated attacker could take control of any WordPress account on a site using an affected Wishlist Member version, including an administrator account. The flaw allows credentials and profile details to be replaced without sending normal password or email change notifications, increasing the risk of unnoticed full-site compromise.
Executive priority
Treat this as an immediate remediation and compromise-assessment priority. A vulnerable public site may permit silent administrator takeover with no credentials or victim action. Prioritize internet-facing sites, preserve relevant logs, and involve incident response where unexplained privileged-account changes are found.
Technical view
The wpm_register() function checks the registration cookie against GET reg but does not bind POST mergewith and wpm_id to that transaction. An attacker can target an arbitrary user ID, causing credentials and profile attributes to be overwritten. Using a nonexistent membership level omits the role update, preserving an administrator role.
Likely exposure
WordPress sites running Wishlist Member through version 3.34.1 are potentially exposed. Risk is greatest where the affected registration functionality is publicly reachable. Successful targeting of an existing administrator could provide full administrative control. The bundle's structured version field conflicts with its title and description, so installed-version findings require vendor confirmation.
Exploitation context
The attack requires no authentication, privileges, or user interaction and is described as low complexity. The supplied bundle does not identify public exploitation and marks KEV as false. That is not proof that exploitation has never occurred, particularly because account-change notifications are suppressed.
Researcher notes
The described root cause is insufficient transaction binding around mergewith and wpm_id, followed by dangerous account mutation and suppressed notifications. The structured affected entry lists version "0," conflicting with the title and narrative cutoff of 3.34.1. No specific fixed release or confirmed exploitation is provided, so verify both with current vendor guidance.
Mitigation direction
Inventory WordPress sites and prioritize those running Wishlist Member through version 3.34.1.
Review Wishlist Member guidance and apply its confirmed security update or mitigation when available.
Restrict access to affected registration functionality until vendor-confirmed remediation is applied.
If compromise is suspected, secure privileged accounts and restore validated identity and credential data.
Validation and detection
Verify the exact Wishlist Member version installed on every WordPress site.
Determine whether the affected registration workflow is reachable without authentication.
Review accounts for unexpected username, email, password, first-name, or last-name changes.
Inspect registration and application logs for suspicious mergewith or wpm_id activity.
Confirm remediation status against current Wishlist Member or Wordfence guidance.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-640: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
The CVE wording references authentication or credential exposure, so valid-account and credential-access review may help. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
The CVE wording references privilege impact, so privilege escalation and authorization behavior review may help. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
5Timeline events
1ADP providers
3Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: yesTechnical Impact: total
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-640 · source CWE mapping
Weak Password Recovery Mechanism for Forgotten Password
Weak Password Recovery Mechanism for Forgotten Password represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.