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

Vulnerabilidad en kernel de Linux (CVE-2024-57838)

Gravedad CVSS v3.1:
ALTA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
11/01/2025
Última modificación:
24/09/2025

Descripción

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: s390/entry: Marcar entradas de IRQ para corregir advertencias del depósito de pila El depósito de pila filtra todo lo que esté fuera del contexto de interrupción superior como una parte poco interesante o irrelevante de los seguimientos de pila. Esto ayuda con la desduplicación del seguimiento de pila, evitando una explosión de seguimientos de pila guardados que comparten la misma ruta de código de contexto de IRQ pero que se originan en diferentes puntos interrumpidos aleatoriamente, agotando eventualmente el depósito de pila. El filtrado utiliza in_irqentry_text() para identificar funciones dentro de las secciones .irqentry.text y .softirqentry.text, que luego se convierten en las últimas entradas del seguimiento de pila que se guardan. Si bien __do_softirq() se coloca en la sección .softirqentry.text por código común, completar .irqentry.text es específico de la arquitectura. Actualmente, la sección .irqentry.text en s390 está vacía, lo que impide el filtrado y la deduplicación del depósito de pila y podría generar advertencias como: El depósito de pila alcanzó la capacidad límite ADVERTENCIA: CPU: 0 PID: 286113 en lib/stackdepot.c:252 depot_alloc_stack+0x39a/0x3c8 con PREEMPT y KASAN habilitados. Solucione esto moviendo los controladores de interrupción IO/EXT de .kprobes.text a la sección .irqentry.text y actualizando la lista negra de kprobes para incluir la sección .irqentry.text. Esto se hace solo para interrupciones asincrónicas y explícitamente no para verificaciones de programa, que son sincrónicas y donde es importante preservar el contexto más allá de la verificación de programa. A pesar de que las verificaciones de máquina están algo en el medio, son extremadamente raras y preservar el contexto cuando sea posible también es valioso. Los SVC y las interrupciones de reinicio no son relevantes, uno siempre se encuentra en el límite del espacio del usuario y el otro es algo que ocurre una sola vez. El filtrado de entradas IRQ también se utiliza de manera opcional en el gráfico de funciones ftrace, donde se aplica la misma lógica.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.15.174 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.16 (incluyendo) 6.1.120 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.2 (incluyendo) 6.6.64 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 (incluyendo) 6.12.4 (excluyendo)