CVE-2023-30861
Flask vulnérable à une possible divulgation du cookie de session permanent en raison de l'absence d'en-tête Vary: Cookie
- Publié
- 2 mai 2023
- Mise à jour
- 13 févr. 2025
- Attribution de CNA
- GitHub_M
- Preuve observée
- 8 août 2026
CVSS primaire
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:NFaible · 30 prochains jours
- Percentile
- 67,8 %
- Date du modèle
- 21 sept. 2026
EPSS est une estimation statistique, et non une certitude ou une mesure d'impact. Combinez-le avec CVSS, le statut KEV, l'exposition et votre environnement.
Résumé
Flask est un framework d'application web WSGI léger. Lorsque toutes les conditions suivantes sont réunies, une réponse contenant des données destinées à un client peut être mise en cache puis envoyée par le proxy à d'autres clients. Si le proxy met également en cache les en-têtes `Set-Cookie`, il peut envoyer le cookie `session` d'un client à d'autres clients. La gravité dépend de l'utilisation de la session par l'application et du comportement du proxy vis-à-vis des cookies. Le risque dépend de la réunion de toutes ces conditions. 1. L'application doit être hébergée derrière un proxy de mise en cache qui ne supprime pas les cookies et n'ignore pas les réponses contenant des cookies. 2. L'application définit `session.permanent = True`. 3. L'application n'accède pas à la session et ne la modifie pas à aucun moment d'une requête. 4. `SESSION_REFRESH_EACH_REQUEST` activé (par défaut). 5. L'application ne définit pas d'en-tête `Cache-Control` pour indiquer qu'une page est privée ou ne doit pas être mise en cache. Cela se produit car les versions vulnérables de Flask ne définissent l'en-tête `Vary: Cookie` que lorsque la session est consultée ou modifiée, et non lorsqu'elle est actualisée (renvoyée pour mettre à jour l'expiration) sans être consultée ni modifiée. Ce problème a été corrigé dans les versions 2.3.2 et 2.2.5.
Sources
1PoC basé sur Docker pour Flask CVE-2023-30861, démontrant une vulnérabilité de gestion de session entre Flask et les serveurs de cache proxy inverse pour la recherche et les tests de sécurité.
Utilisation responsable
Utilisez les informations de vulnérabilité uniquement sur les systèmes que vous possédez ou que vous êtes autorisé à tester. Kitploit renvoie aux métadonnées de la recherche publique et ne stocke pas de code d'exploitation ni de charges utiles malveillantes.