„`html
Zusammenfassung
Das WordPress-Plugin DoLogin Security ist in allen Versionen bis einschließlich 4.3 anfällig für einen Authentication-Bypass-Angriff. Die Schwachstelle resultiert aus unzureichender Zufallsgenerierung bei der Erstellung von Passwordless-Login-Tokens. Ein unauthentifizierter Angreifer kann die Token rekonstruieren und sich als beliebiger Benutzer authentifizieren, ohne ein Passwort zu kennen.
Betroffene Systeme
DoLogin Security Plugin für WordPress in allen Versionen bis 4.3. Betroffen sind alle WordPress-Installationen mit aktiviertem Plugin, die Passwordless-Login-Funktionalität nutzen.
Technische Details
Die Schwachstelle entsteht durch mehrere kritische Implementierungsmängel:
- Schwache Seed-Generierung: Die Mersenne-Twister-Funktion wird mit `mt_srand((double) microtime() * 1000000)` initialisiert, wodurch nur die Mikrosekundenkomponente genutzt wird. Dies reduziert die Entropie auf circa 10^6 mögliche Werte (~20 Bit).
- Deterministische Token-Generierung: Alle 32 Zeichen des Magic-Link-Tokens werden sequenziell mit `mt_rand()` generiert, was das Token zu einer deterministischen Funktion des Seeds macht.
- Fehlende Timing-Sicherheit: Die Hash-Verifikation nutzt den unsicheren `!=`-Operator statt einer konstant-zeitigen Vergleichsfunktion.
- Bypassed Security-Hooks: Die Authentifizierung erfolgt direkt über `wp_set_auth_cookie()` auf dem unauthentifizierten `init`-Hook, umgeht `wp_authenticate()` und damit auch die Brute-Force-Schutzlogik des Plugins.
- Vorhersagbare Token-IDs: Die Zielbenutzer-ID wird über Auto-Increment-Werte aus den `?dologin=
. `-Parametern ermittelt.
Empfohlene Massnahmen
- Plugin sofort deaktivieren und deinstallieren
- Alle aktiven Passwordless-Login-Links invalidieren
- Admin-Accounts auf verdächtige Aktivitäten überprüfen
- Passwort-basierte Authentifizierung als primäre Methode verwenden
- Auf patched Versionen warten oder Alternativ-Plugins evaluieren
- Regelmäßige Security-Audits durchführen
Bewertung
CVSS-Score: 8.8 (High)
Angriffsvektor: Network
Exploitierbarkeit: Hoch — erfordert lediglich gültige, aktive Login-Links (bis 7 Tage gültig) und Kenntnis oder Schätzung der numerischen Link-ID.
Patch-Status: Kein Patch verfügbar. Dringende Migration erforderlich.
„`