Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en Rack (CVE-2025-32441)

Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-362 Ejecución concurrente utilizando recursos compartidos con una incorrecta sincronización (Condición de carrera)
Fecha de publicación:
07/05/2025
Última modificación:
17/06/2025

Descripción

Rack es una interfaz modular de servidor web Ruby. Antes de la versión 2.2.14, al usar el middleware `Rack::Session::Pool`, las solicitudes simultáneas de Rack podían restaurar una sesión de Rack eliminada, lo que permitía al usuario no autenticado ocuparla. El middleware de sesión de Rack prepara la sesión al inicio de la solicitud y la guarda en el almacén con los posibles cambios aplicados por la aplicación host de Rack. De esta forma, la sesión se convierte en objeto de condiciones de ejecución, generalmente, sobre solicitudes concurrentes de Rack. Al usar el middleware `Rack::Session::Pool`, y siempre que el atacante pueda obtener una cookie de sesión (un problema ya importante), la sesión puede restaurarse si el atacante puede activar una solicitud de larga duración (dentro de la misma sesión) junto al cierre de sesión del usuario, para así retener el acceso ilícito incluso después de que el usuario haya intentado cerrar sesión. La versión 2.2.14 incluye un parche para este problema. Hay otras mitigaciones disponibles. Asegúrese de que la aplicación invalide las sesiones de manera atómica marcándolas como desconectadas, por ejemplo, utilizando una bandera `logged_out`, en lugar de eliminarlas, y verifique esta bandera en cada solicitud para evitar la reutilización; o implemente un almacén de sesiones personalizado que rastree las marcas de tiempo de invalidación de la sesión y se niegue a aceptar datos de la sesión si la sesión se invalidó después de que comenzó la solicitud.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:rack:rack:*:*:*:*:*:ruby:*:* 2.2.14 (excluyendo)