CVE-2026-74671 in Linuxinformación

Resumen

por VulDB • 2026-08-22

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

ima: corregir lectura fuera de límites en xattr_verify()

La comprobación de digest-length (longitud del resumen) en xattr_verify() mezcla tipos int y size_t:

if (xattr_len - sizeof(xattr_value->type) - hash_start >= iint->ima_hash->length)

sizeof() devuelve un valor de tipo size_t, por lo que las conversiones aritméticas habituales promueven todo el lado izquierdo a entero sin signo de 64 bits antes de que se ejecute la resta. Para una xattr truncada, esto provoca un desbordamiento hacia abajo (underflow) en lugar de volverse negativo: una xattr IMA_XATTR_DIGEST_NG de 1 byte (xattr_len == 1, hash_start == 1) convierte "1 - 1 - 1" en SIZE_MAX, que es trivialmente >= ima_hash->length. La comprobación entonces se supera y la siguiente llamada a memcmp() lee iint->ima_hash->length bytes comenzando más allá del final del buffer asignado por vfs_getxattr_alloc().

Ningún código principal (upstream) ajusta xattr_len de nuevo a un rango seguro primero: ima_get_hash_algo() solo maneja como caso especial los valores xattr_len < 2 para seleccionar un algoritmo predeterminado, y evm_verifyxattr() devuelve INTEGRITY_UNKNOWN en lugar de fallar cuando no hay una clave HMAC cargada, por lo que un valor security.ima truncado llega a la comprobación de longitud tal cual.

Reescribir la comparación para que cada operando permanezca como int con signo y no pueda ocurrir ninguna conversión implícita a size_t.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsable

Linux

Reservar

2026-08-15

Divulgación

2026-08-22

Moderación

aceptado

Artículo

VDB-394457

CPE

listo

EPSS

0.00000

KEV

no

Actividades

muy bajo

Fuentes

Interested in the pricing of exploits?

See the underground prices here!