Плагин членства — плагин Kadence Memberships для WordPress (ранее Restrict Content) уязвим для отравления ссылкой для сброса пароля, что приводит к захвату учетной записи во всех версиях до 4.0.0 включительно. Это связано с тем, что устаревший обработчик утерянного пароля rc_process_lost_password_form() использует управляемый злоумышленником POST-параметр rc_redirect в два непроверенных приемника в наследии/includes/forms.php: wp_redirect( esc_url( $_POST['rc_redirect'] ) . ... ) в строке 243 и add_query_arg( array( 'key' => $key, 'login' => ... ), $_POST['rc_redirect'] ) внутри rc_send_password_reset_email() в строке 306. Nonce, необходимый для достижения обработчика, передается общедоступным коротким кодом [login_form] в строке 207 любому анонимному посетителю.
Это позволяет неаутентифицированным злоумышленникам выдать запрос на сброс пароля для любой учетной записи (включая администраторов), чье тело электронного письма для сброса указывает жертве на контролируемый злоумышленником хост, имеющий действительный ключ сброса/логин. Когда жертва нажимает на ссылку, ключ сброса передается злоумышленнику, который может воспроизвести его на законном сайте для завершения захвата учетной записи.
Показать оригинальное описание (EN)
The Membership Plugin – Kadence Memberships plugin for WordPress (formerly Restrict Content) is vulnerable to password reset link poisoning leading to account takeover in all versions up to, and including, 4.0.0. This is due to the legacy lost-password handler rc_process_lost_password_form() consuming the attacker-controlled rc_redirect POST parameter into two unvalidated sinks in legacy/includes/forms.php: wp_redirect( esc_url( $_POST['rc_redirect'] ) . ... ) at line 243, and add_query_arg( array( 'key' => $key, 'login' => ... ), $_POST['rc_redirect'] ) inside rc_send_password_reset_email() at line 306. The nonce required to reach the handler is broadcast by the public [login_form] shortcode at line 207 to any anonymous visitor. This makes it possible for unauthenticated attackers to issue a password-reset request for any account (including administrators) whose reset email body points the victim at an attacker-controlled host carrying a valid reset key/login. When the victim clicks the link, the reset key leaks to the attacker, who can replay it against the legitimate site to complete account takeover.
Характеристики атаки
Последствия
Строка CVSS v3.1