CVE-2026-74671 in Linuxinformation

Résumé

par VulDB • 23/08/2026

Dans le noyau Linux, la vulnérabilité suivante a été corrigée :

ima : correction d'une lecture hors limites dans xattr_verify()

La vérification de la longueur du hachage (digest-length) dans xattr_verify() mélange des types `int` et `size_t` :

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

L'opérateur `sizeof()` renvoie un type `size_t`, de sorte que les conversions arithmétiques habituelles promeuvent l'intégralité du côté gauche en unsigned 64 bits avant la soustraction. Pour un xattr tronqué, cela provoque une sous-débordement (underflow) au lieu d'une valeur négative : un xattr IMA_XATTR_DIGEST_NG de 1 octet (xattr_len == 1, hash_start == 1) transforme « 1 - 1 - 1 » en SIZE_MAX, qui est trivialement >= ima_hash->length. La vérification passe alors et le memcmp() suivant lit iint->ima_hash->length octets à partir d'une position située au-delà de la fin du buffer alloué par vfs_getxattr_alloc().

Aucun code amont ne ramène xattr_len dans une plage sûre en premier lieu : ima_get_hash_algo() ne gère que le cas particulier où xattr_len < 2 pour choisir un algorithme par défaut, et evm_verifyxattr() renvoie INTEGRITY_UNKNOWN au lieu d'échouer lorsqu'aucune clé HMAC n'est chargée. Ainsi, une valeur security.ima tronquée atteint la vérification de longueur telle quelle.

Réécrire la comparaison afin que chaque opérande reste un int signé et qu'aucune conversion implicite vers size_t ne puisse se produire.

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

Responsable

Linux

Réserver

15/08/2026

Divulgation

22/08/2026

Modérer

accepté

Entrée

VDB-394457

CPE

prêt

EPSS

0.00000

KEV

non

Activités

très faible

Sources

Interested in the pricing of exploits?

See the underground prices here!