Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-8181 — Exploit per il CVE-2026-8181 - Bypass dell'autenticazione del plugin WordPress Burst Statistics | Kitploit
Strumenti/GitHubGitHub/whattheslime/cve-2026-8181
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingAutenticazioneRed Teaming
GitHubwhattheslime/cve-2026-8181

CVE-2026-8181

Exploit per il CVE-2026-8181 - Bypass dell'autenticazione del plugin WordPress Burst Statistics

Vedi Repository
3 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2026-8181 exploit

Plugin WordPress Burst Statistics — Bypass dell'autenticazione per l'escalation dei privilegi ad Amministratore

Exploit per la CVE-2026-8181 scoperta da Chloe Chamberland e PRISM.

⚠️ Disclaimer

Questo repository è fornito esclusivamente a scopo di ricerca e sicurezza difensiva. L'autore non si assume alcuna responsabilità per l'uso improprio di queste informazioni.


📌 Panoramica

Il plugin Burst Statistics – Privacy-Friendly WordPress Analytics per WordPress è vulnerabile a un Bypass dell'autenticazione che consente l'escalation dei privilegi ad Amministratore nelle versioni dalla 3.4.0 alla 3.4.1.1.

La vulnerabilità risiede nel metodo is_mainwp_authenticated() del proxy MainWP del plugin, che considera erroneamente qualsiasi valore di ritorno non-WP_Error da wp_authenticate_application_password() come un'autenticazione riuscita.

Ciò consente ad attaccanti non autenticati che conoscono un nome utente amministratore valido di impersonare quell'amministratore per l'intera durata di qualsiasi richiesta REST API, inclusi gli endpoint core di WordPress come POST /wp-json/wp/v2/users. Le credenziali dell'amministratore esistente non vengono mai compromesse, ma l'attaccante ottiene i suoi privilegi per il tempo sufficiente a creare un account amministratore completamente nuovo.


🔬 Analisi della causa principale

La catena della vulnerabilità è la seguente:

  1. includes/class-burst.php:41 -> Il plugin registra init() su plugins_loaded alla priorità 9, che esegue bootstrap() e chiama has_admin_access() per ogni richiesta (incluse quelle REST).

  2. includes/Traits/trait-admin-helper.php:202 -> Quando la richiesta trasporta l'header X-BurstMainWP: 1, has_admin_access() istanzia MainWP_Proxy e delega l'autenticazione a is_mainwp_authenticated().

  3. includes/Frontend/class-mainwp-proxy.php:314 -> Il metodo legge l'header Authorization, decodifica le credenziali Basic e inoltra / forniti dall'attaccante a del core di WordPress.

Una singola richiesta HTTP con una password fittizia è quindi sufficiente per impersonare qualsiasi amministratore a livello di REST API del core di WordPress.


🔎 Rilevamento dell'installazione del plugin

  1. Plugin attivo — l'HTML della homepage fa riferimento alle sue risorse solo quando il plugin è in coda (enqueued):

    root@kitploit:~
    echo http://127.0.0.1:8000 | httpx -silent -mr '/wp-content/plugins/burst-statistics/'
    
  2. Versione — readme.txt viene servito staticamente ed espone la versione installata (vulnerabile: 3.4.0–3.4.1.1, corretta: 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.\-]*'
    

Il template nuclei CVE-2026-8181.yaml incluso automatizza entrambi i controlli e il confronto delle versioni:

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

🎯 Sfruttamento

Una volta rilevata una versione vulnerabile del plugin, lo sfruttamento richiede di conoscere un nome utente amministratore valido. La REST API di WordPress li espone nella maggior parte delle installazioni tramite l'endpoint pubblico degli utenti:

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

Quando quell'endpoint è protetto (ad es. da Disable REST API o Stop User Enumeration), il trucco dell'archivio autore (/?author=N) di solito rivela comunque il nome utente tramite il redirect a /author/<username>/.

Con un nome utente valido in mano, l'exploit crea un nuovo account amministratore con una singola richiesta:

  1. Installa le dipendenze Python:

    root@kitploit:~
    python3 -m venv venv
    venv/bin/pip install -r requirements.txt
    
  2. Esegui l'exploit contro il target, fornendo un nome utente amministratore noto con -u:

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

    Esempio di output:

    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. Accedi a /wp-admin/ con l'account amministratore appena creato.


⚠️ Limitazioni

Il bypass si attiva solo se l'header Authorization raggiunge PHP tramite $_SERVER['HTTP_AUTHORIZATION']. Su Apache + mod_php con permalink semplici (la configurazione predefinita di WordPress), non viene generato alcun .htaccess e l'header viene rimosso silenziosamente — l'exploit non può avere successo.

Passare a qualsiasi permalink non semplice in Impostazioni → Permalink fa sì che WordPress 5.6+ scriva la direttiva RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] nel .htaccess, ripristinando l'inoltro. Nginx + PHP-FPM e LiteSpeed inoltrano Authorization per impostazione predefinita indipendentemente dai permalink. Il fatto che i permalink "pretty" siano la norma SEO in produzione è il motivo per cui questa vulnerabilità è valutata CVSS 9.8 non autenticata.

L'exploit prova prima /wp-json/wp/v2/users e poi ripiega su /index.php?rest_route=/wp/v2/users, quindi il routing degli endpoint non è mai il blocco — lo è solo l'inoltro dell'header.


📚 Riferimenti

  • 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
Scarica lo strumento
username
password
wp_authenticate_application_password()
  • includes/Frontend/class-mainwp-proxy.php:328-329 -> Il valore di ritorno viene controllato solo con is_wp_error(). Il core di WordPress restituisce $input_user invariato (qui null) quando le Application Password non sono in uso oppure quando la richiesta non è contrassegnata come richiesta API. Alla priorità 9 di plugins_loaded la REST API non ha ancora impostato il filtro application_password_is_api_request su true, quindi la seconda condizione è sempre soddisfatta quando viene eseguito il codice vulnerabile — e null non è un WP_Error, quindi il controllo viene superato.

  • includes/Frontend/class-mainwp-proxy.php:336 -> Viene chiamato wp_set_current_user( $user->ID ) con l'utente individuato esclusivamente dal nome utente fornito dall'attaccante, impostando l'utente autenticato globalmente per l'intera richiesta.