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-71206-PoC — PoC: Shiori JWT CheckToken non ricontrolla mai lo stato dell'account (CVE-2026-71206, Alto 8.2) | Kitploit
Strumenti/GitHubGitHub/nel-droid/cve-2026-71206-poc
Autenticazione e AutorizzazioneAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebSicurezza WebAutenticazione
GitHubnel-droid/cve-2026-71206-poc

CVE-2026-71206-PoC

PoC: Shiori JWT CheckToken non ricontrolla mai lo stato dell'account (CVE-2026-71206, Alto 8.2)

Vedi Repository
524 giorni 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-71206 — Shiori: il CheckToken JWT non rivalida mai lo stato dell'account

Prodotto: go-shiori/shiori File: internal/domains/auth.go CWE: CWE-613 — Scadenza della sessione insufficiente CVSS 3.1: AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:L — 8.2 (Alto) CNA: Turan Security · Scheda CVE

Descrizione

La funzione CheckToken di Shiori (internal/domains/auth.go) valida solo la firma HMAC del JWT e restituisce l'oggetto claims.Account incorporato senza modifiche — non recupera mai l'account dal database a ogni richiesta. Non esiste alcun archivio di sessioni o meccanismo di revoca dei token in nessuna parte del codebase.

Impatto

Una volta emesso un JWT, questo rimane pienamente valido per tutta la sua durata, indipendentemente da ciò che accade all'account in seguito. Se un amministratore elimina un utente, lo declassa, o la password dell'utente viene ruotata dopo una sospetta compromissione, qualsiasi JWT emesso per quell'account prima della modifica continua ad autenticare correttamente con i claims originali (ruolo, ID account, ecc.) incorporati nel token — non esiste alcuno stato lato server da invalidare.

Riproduzione

  1. Autenticati come utente e cattura il JWT emesso (ad es. tramite POST /api/v1/auth/login).
  2. Come amministratore, elimina l'account o declassa il ruolo dell'utente.
  3. Ripeti il JWT originale contro qualsiasi endpoint autenticato:
    root@kitploit:~
    GET /api/bookmarks
    Authorization: Bearer <original JWT>
    
  4. La richiesta ha successo utilizzando i claims obsoleti — l'account eliminato/declassato ha ancora accesso, perché CheckToken non controlla mai lo stato corrente del DB, solo la firma.

Causa Principale

CheckToken considera il payload del JWT come fonte di verità per lo stato dell'account, invece di trattarlo come una credenziale bearer da rivalidare contro il database (o da verificare contro una lista di revoca) a ogni utilizzo.

Correzione Consigliata

Recupera nuovamente l'account tramite ID a ogni richiesta autenticata (o come minimo verifica contro un archivio di revoca/sessioni indicizzato da un token ID (jti) che viene invalidato in caso di eliminazione dell'account, declassamento o cambio di password) invece di fidarsi dei claims incorporati così come sono.

Scarica lo strumento