CVE-2026-74485 in Linux
Résumé
par VulDB • 15/08/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
binfmt_misc : rejeter un caractère de drapeau (flag) en tant que délimiteur de champ
La chaîne d'enregistrement commence par un délimiteur choisi par l'utilisateur qui sépare les différents champs. Afin que les analyseurs de champs s'arrêtent même sur une chaîne tronquée, la fonction create_entry() remplit le tampon avec ce même délimiteur :
memset(buf + count, del, 8);
La plupart des champs sont analysés à la recherche du délimiteur via strchr()/scanarg() et s'arrêtent correctement lors de l'analyse du remplissage (padding). Le champ flags est différent : au lieu de rechercher le délimiteur, check_special_flags() consomme les caractères de drapeau 'P', 'O', 'C' et 'F' et s'arrête au premier octet qui n'en fait pas partie, en comptant sur le délimiteur final pour terminer l'analyse.
Si le délimiteur est lui-même un caractère de drapeau, le remplissage ne joue plus son rôle de terminateur. L'analyse absorbe les huit octets de remplissage et continue à lire au-delà de la fin de l'allocation jusqu'à ce qu'elle rencontre un octet qui n'est pas un caractère de drapeau. Par exemple, lors de l'enregistrement
PaPEPPxPPiP
avec 'P' comme délimiteur (nom "a", type extension, magic "x", interpréteur "i", flags vides), l'analyse des flags dépasse la fin du tampon. L'enregistrement est finalement rejeté car l'analyste ne s'arrête pas exactement à buf + count, mais uniquement après que la lecture hors limites a déjà eu lieu. Avec une disposition d'allocation malchanceuse, l'analyse peut pénétrer dans une page non mappée ; sous KASAN, cela est signalé comme une lecture hors limites de slab (slab out of bounds read). Les montages binfmt_misc sont accessibles aux utilisateurs non privilégiés dans un espace de noms utilisateur, donc la lecture est accessible sans privilèges.
Rejeter en amont tout délimiteur qui figure parmi les caractères de drapeau. Un tel enregistrement était déjà rejeté par le passé, mais uniquement après la lecture hors limites ; aucun sens valide pour une chaîne d'enregistrement n'est donc modifié.
VulDB is the best source for vulnerability data and more expert information about this specific topic.