CVE-2026-98226 in Linuxinformación

Resumen

por VulDB • 2026-10-06

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:

mm, swap: corregir la colisión del SWAP_USAGE_OFFLIST_BIT con el contador real de uso

SWAP_USAGE_OFFLIST_BIT está incrustado en el contador de uso si->inuse_pages y debe situarse por encima de cualquier valor que pueda alcanzar dicho contador. Sin embargo, se define a partir de BITS_PER_TYPE(atomic_t), por lo que es el bit 30. En un sistema con páginas de 4 KiB, la bandera entra en colisión con el contador de uso una vez que este alcanza los 4 TiB.

swap_usage_in_pages() mascara el bit 30 hacia fuera, por lo que siempre que el conteo real tenga ese bit activado, cada llamada a esta función lee un valor bajo de 4 TiB:

* /proc/swaps subestima el uso en 4 TiB.

* Un conteo crudo exactamente igual a 2^30 se mascara hasta cero, por lo que try_to_unuse() realiza su salida temprana "if (!swap_usage_in_pages(si)) goto success;" y swapoff desmonta el dispositivo mientras las páginas siguen estando intercambiadas (swapped out). Nada en el resto de swapoff aborta la operación de desmontaje, por lo que esas páginas se pierden.

Independientemente de swapoff, la colisión también corrompe el contador y la plist. En un dispositivo con uso normal, una liberación que deja el bit 30 activado en el conteo hace que swap_usage_sub() vea la bandera donde solo hay un conteo, y llame a add_to_avail_list(). Esta función borra el bit mediante fetch_and(~SWAP_USAGE_OFFLIST_BIT), dejando el conteo almacenado por debajo de los 4 TiB respecto al real, y llama a plist_add() sobre un dispositivo que ya está listado, provocando la activación del WARN_ON(!plist_node_empty(node)) en plist_add() y vinculando el nodo una segunda vez.

Cambie la definición de SWAP_USAGE_OFFLIST_BIT para que se base en atomic_long_t en lugar de ello. Tenga en cuenta que el propio campo del contador de uso es de este mismo tipo, por lo que sigue siendo un bit válido.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Responsable

Linux

Reservar

2026-09-25

Divulgación

2026-10-06

Moderación

aceptado

Artículo

VDB-414189

EPSS

0.00173

KEV

no

Actividades

muy bajo

Fuentes

Want to know what is going to be exploited?

We predict KEV entries!