CVE-2023-30861
Flask vulnerabile alla possibile divulgazione del cookie di sessione permanente a causa della mancanza dell'header Vary: Cookie
- Pubblicato
- 2 mag 2023
- Aggiornato
- 13 feb 2025
- Assegnazione CNA
- GitHub_M
- Evidenza osservata
- 8 ago 2026
CVSS primario
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:NBasso · prossimi 30 giorni
- Percentile
- 67,8%
- Data del modello
- 21 set 2026
L'EPSS è una stima statistica, non una certezza o una misura di impatto. Combinalo con CVSS, stato KEV, esposizione e ambiente.
Riepilogo
Flask è un framework leggero per applicazioni web WSGI. Quando tutte le seguenti condizioni sono soddisfatte, una risposta contenente dati destinati a un client può essere memorizzata nella cache e successivamente inviata dal proxy ad altri client. Se il proxy memorizza nella cache anche le intestazioni `Set-Cookie`, potrebbe inviare il cookie di `session` di un client ad altri client. La gravità dipende dall'uso della sessione da parte dell'applicazione e dal comportamento del proxy relativamente ai cookie. Il rischio dipende dal fatto che tutte queste condizioni siano soddisfatte. 1. L'applicazione deve essere ospitata dietro un proxy di caching che non rimuova i cookie o ignori le risposte con cookie. 2. L'applicazione imposta `session.permanent = True` 3. L'applicazione non accede né modifica la sessione in nessun momento durante una richiesta. 4. `SESSION_REFRESH_EACH_REQUEST` abilitata (impostazione predefinita). 5. L'applicazione non imposta un'intestazione `Cache-Control` per indicare che una pagina è privata o non deve essere memorizzata nella cache. Ciò accade perché le versioni vulnerabili di Flask impostano l'intestazione `Vary: Cookie` solo quando si accede alla sessione o la si modifica, non quando viene aggiornata (reinviata per aggiornare la scadenza) senza che vi si acceda o la si modifichi. Questo problema è stato corretto nelle versioni 2.3.2 e 2.2.5.
Fonti
1PoC basato su Docker per Flask CVE-2023-30861, che dimostra una vulnerabilità di gestione delle sessioni tra Flask e server cache proxy inverso per ricerca e test di sicurezza.
Utilizzo responsabile
Utilizza le informazioni sulla vulnerabilità solo sui sistemi che possiedi o che sei autorizzato a testare. Kitploit si collega ai metadati della ricerca pubblica e non memorizza codici exploit o payload dannosi.