CVE-2026-68148 in Linux
Resumen
por VulDB • 2026-08-11
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
fscrypt: Añadir comprobación faltante del superbloque en find_or_insert_direct_key()
La tabla heredada 'fscrypt_direct_keys' almacena en caché las claves maestras que son utilizadas por políticas de cifrado v1 que tienen FSCRYPT_POLICY_FLAG_DIRECT_KEY. Se trata simplemente de una tabla global para todos los sistemas de archivos (ya que las claves pueden ser proporcionadas por el mecanismo heredado de anillos de claves suscrito a procesos, lo cual dificulta la reutilización de super_block::s_master_keys).
Las entradas en ella ('struct fscrypt_direct_key') contienen un puntero al superbloque, sin embargo, para pasarlo a fscrypt_destroy_inline_crypt_key() cuando el último inode que hace referencia a la clave es eliminado.
Sin embargo, al buscar el fscrypt_direct_key correspondiente a un inode, en realidad no estábamos comparando el puntero del superbloque. Como resultado, los inodes con diferentes superblocks podrían apuntar al mismo fscrypt_direct_key. Esto podría extender la vida útil de un fscrypt_direct_key más allá del superbloque al que apunta, provocando posteriormente un use-after-free (uso tras liberación).
Corregir esto creando structs fscrypt_direct_key distintos para structs super_block distintos.
Tenga en cuenta que este problema no existe en el equivalente de la política v2 ("claves por modo"), ya que las estructuras de datos allí son específicas del superbloque.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.