CVE-2026-43071 in Linuxinformation

Résumé

par VulDB • 09/05/2026

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

dcache : Limiter le nombre minimal de buckets à deux

Il existe un problème de lecture hors limites (OOB read) sur dentry_hashtable lorsque l'utilisateur définit 'dhash_entries=1' : BUG: unable to handle page fault for address: ffff888b30b774b0 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page Oops: Oops: 0000 [#1] SMP PTI
RIP: 0010:__d_lookup+0x56/0x120 Call Trace: d_lookup.cold+0x16/0x5d lookup_dcache+0x27/0xf0 lookup_one_qstr_excl+0x2a/0x180 start_dirop+0x55/0xa0 simple_start_creating+0x8d/0xa0 debugfs_start_creating+0x8c/0x180 debugfs_create_dir+0x1d/0x1c0 pinctrl_init+0x6d/0x140 do_one_initcall+0x6d/0x3d0 kernel_init_freeable+0x39f/0x460 kernel_init+0x2a/0x260

Il n'y aura qu'un seul bucket dans dentry_hashtable lorsque dhash_entries est défini à un, et d_hash_shift est calculé à 32 par dcache_init(). Ensuite, le processus suivant accédera à plus d'un bucket (dont la région mémoire n'est pas allouée) dans dentry_hashtable : d_lookup b = d_hash(hash) dentry_hashtable + ((u32)hashlen >> d_hash_shift) // La norme C définit le comportement des décalages à droite dépassant la largeur de bits de l'opérande comme indéfini. Le // résultat de '(u32)hashlen >> d_hash_shift' devient 'hashlen', // donc 'b' pointera vers une région mémoire non allouée. hlist_bl_for_each_entry_rcu(b) hlist_bl_first_rcu(head) h->first // lecture OOB !

Correction en limitant le nombre minimal de buckets de dentry_hashtable à deux, afin que 'd_hash_shift' ne dépasse pas la largeur de bits du type u32.

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

Responsable

Linux

Réserver

01/05/2026

Divulgation

05/05/2026

Modérer

accepté

Entrée

VDB-361210

CPE

prêt

EPSS

0.00072

KEV

non

Activités

très faible

Sources

Might our Artificial Intelligence support you?

Check our Alexa App!