Saltar al contenido
DUPIN
ALERTAS · EN VIVO
Contacto

EXPLOIT PÚBLICODetectada 01 NOV · 22:52

CVE-2023-30861 Exposición de cookie de sesión permanente en Flask por falta de encabezado Vary: Cookie

En Flask, si se cumplen ciertas condiciones (proxy de caché que no descarta cookies, session.permanent = True, sesión no accedida durante la petición, SESSION_REFRESH_EACH_REQUEST habilitado y sin Cache-Control privado), una respuesta destinada a un cliente puede quedar en caché y el proxy puede enviar la cookie de sesión de un cliente a otros. La gravedad depende del uso de la sesión y del comportamiento del proxy.

7.5ALTA

CVSS 3.1

  • Probabilidad de explotación · EPSS del 09/111,2 % · percentil 69
  • Explotada activamenteNo confirmada
  • Exploit públicoSí, 1

Afectados

  • pallets flask

    >= 2.3.0, < 2.3.2< 2.2.5

Qué hacer

  1. Verificá si usás flask y en qué versión.
  2. Actualizá a la versión corregida que indique el fabricante en su aviso o aplicá su mitigación.
  3. Revisá registros y accesos de los sistemas expuestos para descartar un uso previo.
  4. Priorizá la corrección: hay código de explotación público.

Exploits públicos

Código publicado por terceros. Puede ser malicioso: revisalo solo en un entorno aislado.

Calculadora CVSS

CVSS 3.1 · 7.5 ALTA

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

  • Vector de ataqueRed
  • Complejidad del ataqueBaja
  • Privilegios requeridosNinguno
  • Interacción del usuarioNinguna
  • AlcanceSin cambio
  • ConfidencialidadAlta
  • IntegridadNinguna
  • DisponibilidadNinguna

Descripción original

Flask is a lightweight WSGI web application framework. When all of the following conditions are met, a response containing data intended for one client may be cached and subsequently sent by the proxy to other clients. If the proxy also caches `Set-Cookie` headers, it may send one client's `session` cookie to other clients. The severity depends on the application's use of the session and the proxy's behavior regarding cookies. The risk depends on all these conditions being met. 1. The application must be hosted behind a caching proxy that does not strip cookies or ignore responses with cookies. 2. The application sets `session.permanent = True` 3. The application does not access or modify the session at any point during a request. 4. `SESSION_REFRESH_EACH_REQUEST` enabled (the default). 5. The application does not set a `Cache-Control` header to indicate that a page is private or should not be cached. This happens because vulnerable versions of Flask only set the `Vary: Cookie` header when the session is accessed or modified, not when it is refreshed (re-sent to update the expiration) without being accessed or modified. This issue has been fixed in versions 2.3.2 and 2.2.5.

Referencias (8)

Resumen traducido automáticamente de la descripción original. Fuente: Nureq Monitor. Cómo funciona.

DUPIN · CONTACTO

Contanos tu caso

El mensaje ya va armado: podés cambiarlo.

También podés escribir a [email protected]. Usamos tus datos solo para responderte.