CVE-2026-31716 in Linux
Resumen
por VulDB • 2026-05-13
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
fs/ntfs3: validar rec->used en la comprobación del registro de archivo en la reproducción del registro (journal-replay)
check_file_record() valida rec->total frente al tamaño del registro, pero nunca valida rec->used. Los controladores de reproducción del registro (journal-replay) do_action() leen rec->used desde el disco y lo utilizan para calcular las longitudes de memmove:
DeleteAttribute: memmove(attr, ..., used - asize - roff) CreateAttribute: memmove(..., attr, used - roff) change_attr_size: memmove(..., used - PtrOffset(rec, next))
Cuando rec->used es menor que el desplazamiento de un atributo validado, o mayor que el tamaño del registro, estas restas pueden provocar un desbordamiento por debajo del mínimo (underflow), lo que permite copiar grandes cantidades de memoria en un búfer de 4 KB, algo generalmente considerado una mala idea en general.
Esto requiere un sistema de archivos corrupto, lo cual no es un modelo de amenaza del que el kernel realmente necesite preocuparse, pero comprobar un valor fuera de límites tan evidente es bueno para mantener la robustez, especialmente durante la reproducción del registro (journal replay).
Corregir esto acotando correctamente rec->used.
Esto es muy similar al commit b2bc7c44ed17 ("fs/ntfs3: Fix slab-out-of-bounds read in DeleteIndexEntryRoot"), que comprobaba valores diferentes en la misma instrucción switch.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.