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
Strumenti/GitHubGitHub/bishopfox/cve-2026-27886-check
RicognizioneAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebRaccolta InformazioniPenetration Testing
GitHubbishopfox/cve-2026-27886-check

CVE-2026-27886-check

Rileva se un'istanza Strapi è vulnerabile a CVE-2026-27886 (esfiltrazione non autenticata di segreti dell'amministratore tramite boolean-oracle).

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-27886-check — Rileva se un'istanza Strapi è vulnerabile a CVE-2026-27886 (esfiltrazione non autenticata di segreti dell'amministratore tramite boolean-oracle). | Kitploit
Vedi Repository
112 mesi faNon ancora revisionato

CVE-2026-27886 Strumento di Valutazione della Vulnerabilità

Rileva in modo sicuro se un'istanza di Strapi è vulnerabile a CVE-2026-27886 senza eseguire l'intera catena di account takeover. Consulta l'articolo completo sul blog di Bishop Fox.

Descrizione

CVE-2026-27886 è un bypass non autenticato della sanificazione dei parametri in Strapi versioni 4.0.0 fino a 5.36.1 che consente a utenti remoti non autenticati di divulgare i segreti degli amministratori tramite l'API pubblica dei contenuti. Il sanitizer delle query del framework in @strapi/utils elabora solo le chiavi di query documentate filters, sort, fields e populate e preserva silenziosamente ogni altra chiave di primo livello presente nella richiesta. Le chiavi sconosciute vengono quindi inoltrate attraverso transformQueryParams e finiscono in strapi.db.query(...) come clausola SQL WHERE. Interrogando where[updatedBy][resetPasswordToken][$startsWith]=<prefix> su qualsiasi raccolta dell'API pubblica dei contenuti, un attaccante può divulgare i segreti degli amministratori un carattere alla volta tramite il campo meta.pagination.total della risposta.

Questo strumento esegue test di vulnerabilità non distruttivi:

  1. Inviando una richiesta GET /api/<collection> di base
  2. Inviando la stessa richiesta GET con ?where[id][$lt]=-1 aggiunto
  3. Confrontando i due valori meta.pagination.total per determinare se la clausola where ha raggiunto il livello del database

Il predicato where[id][$lt]=-1 non può corrispondere a nessuna riga reale, quindi quando la clausola viene onorata a livello di database la risposta si riduce a zero righe. Quando la patch è presente, la chiave where sconosciuta viene rimossa dalla whitelist del sanitizer prima che la query venga costruita e la risposta è identica a quella di base. Il probe non tocca mai le colonne private dell'amministratore e non modifica mai alcun dato.

  • Server vulnerabili restituiscono totali diversi: la richiesta di base restituisce almeno una riga mentre la richiesta con predicato restituisce zero, perché la clausola where è stata onorata a livello di database.
  • Server patchati (Strapi 5.37.0 o successivo) restituiscono totali identici per entrambe le richieste, perché sanitizeQuery rimuove tutte le chiavi di primo livello non riconosciute prima che raggiungano il database.
  • Server non Strapi, endpoint irraggiungibili o raccolte vuote riporteranno un risultato INCONCLUSIVE.

Su un server vulnerabile lo strumento enumera quindi l'indirizzo email dell'amministratore carattere per carattere tramite where[updatedBy][email][$startsWith]=<prefix>. Non si concatenano per l'account takeover dell'amministratore.

Installazione

root@kitploit:~
git clone https://github.com/BishopFox/CVE-2026-27886-check
cd CVE-2026-27886-check

Nessuna dipendenza esterna. Lo scanner utilizza solo moduli della libreria standard di Python.

Utilizzo

Testa un endpoint di raccolta dell'API pubblica di un server Strapi. Strapi mappa il pluralName del tipo di contenuto al percorso URL, quindi il nome esatto varia a seconda della distribuzione.

root@kitploit:~
python3 CVE-2026-27886-check.py <ENDPOINT>

Esempio: Server Vulnerabile

root@kitploit:~
$ python3 CVE-2026-27886-check.py http://target.example.com/api/articles
[+] Target: http://target.example.com/api/articles
[+] Differential confirmed: baseline total=1, where-test total=0 -> VULNERABLE
[+] Enumerating admin email
    admin email = [email protected]
[+] Done. To remediate, upgrade to Strapi 5.37.0 or later.

Esempio: Server Patchato

root@kitploit:~
$ python3 CVE-2026-27886-check.py http://target.example.com/api/articles
[+] Target: http://target.example.com/api/articles
[+] Differential check: baseline total=1, where-test total=1 -> NOT VULNERABLE

Precondizioni

Lo strumento può rilevare la vulnerabilità solo se sono soddisfatte le seguenti condizioni:

  • Il target esegue Strapi 4.0.0 fino a 5.36.1
  • Al ruolo Pubblico è stato concesso il permesso find su almeno un tipo di contenuto
  • Almeno una riga in quel tipo di contenuto ha un updated_by_id non NULL
  • L'URL della raccolta target è raggiungibile

Se una qualsiasi condizione non è soddisfatta, lo strumento riporterà un risultato INCONCLUSIVE.

Licenza

Questo codice è distribuito sotto una licenza MIT.

Disclaimer Legale

L'utilizzo di questo strumento per attaccare target senza previo consenso reciproco è illegale. È responsabilità dell'utente finale conformarsi a tutte le leggi locali, statali e federali applicabili. Gli sviluppatori non si assumono alcuna responsabilità e non sono responsabili per eventuali usi impropri o danni causati da questo programma.

Vedi Anche

  • Avviso di sicurezza Strapi GHSA-rjg2-95x7-8qmx
  • Blog Bishop Fox: Analisi Tecnica Completa
  • NVD — CVE-2026-27886
Scarica lo strumento