Ad

CVE-2026-12949

CRITICAL CVSS 3.1: 9,8
Обновлено 14 августа 2026
WordPress
Параметр Значение
CVSS 9,8 (CRITICAL)
Тип уязвимости CWE-640
Поставщик WordPress
Публичный эксплойт Нет

Плагин Wishlist Member для WordPress уязвим к захвату учетной записи из-за недостаточной проверки подлинности данных в версиях до 3.34.1 включительно. Это связано с тем, что функция wpm_register() проверяет регистрационный файл cookie только по параметру GET reg, одновременно принимая параметры POST mergewith и POST wpm_id без проверки того, что идентификатор пользователя mergewith ссылается на временного или неполного регистранта, привязанного к текущей транзакции регистрации. Это позволяет неаутентифицированным злоумышленникам захватить любую существующую учетную запись WordPress, включая учетные записи администратора, путем предоставления числового идентификатора произвольного пользователя в качестве значения mergewith, что приводит к тому, что wp_update_user() перезаписывает имя пользователя целевой учетной записи (дополнительно записываемое с помощью прямого $wpdb UPDATE), пароль, адрес электронной почты, имя и фамилию значениями, контролируемыми злоумышленником, в то время как электронные письма с уведомлением об изменении пароля WordPress и электронной почты явно подавляются.

Когда wpm_id ссылается на несуществующий уровень членства, в полезные данные обновления не добавляется ролевой ключ, в результате чего wp_update_user() сохраняет существующую роль целевого пользователя, включая администратора, что делает полное повышение привилегий прямым следствием захвата.

Показать оригинальное описание (EN)

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.

Характеристики атаки

Способ атаки
По сети
Атака возможна удалённо
Сложность
Низкая
Легко эксплуатировать
Нужны права
Не требуются
Права не нужны
Участие пользователя
Не требуется
Не нужно действие пользователя

Последствия

Конфиденциальность
Высокое
Полная утечка данных
Целостность
Высокое
Полная модификация данных
Доступность
Высокое
Полный отказ в обслуживании

Строка CVSS v3.1

Тип уязвимости (CWE)