CVE-2026-80775 in Linuxinformation

Résumé

par VulDB • 04/09/2026

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

futex : Correction d'une condition de concurrence (race) lors de l'allocation initiale de mm->futex.phash.ref

La fonction futex_hash_allocate() alloue mm->futex.phash.ref sans aucun verrouillage. Le commit d9b05321e21e ("futex : Déplacer futex_hash_free() dans __mmput()") a déplacé l'allocation à cet endroit et a supposé que le processus ne comportait qu'un seul thread à ce stade.

Le commit ee9dce44362b ("futex : Supprimer la condition CLONE_THREAD pour l'allocation par défaut de hachage privé") a élargi need_futex_hash_allocate_default() afin de couvrir tout clone CLONE_VM, mais a exclu vfork car le parent est suspendu et ne peut pas entrer en concurrence.

Cela n'est plus valable une fois que vfork est imbriqué. Si un enfant issu d'un vfork appelle à nouveau vfork puis est tué avec SIGKILL, le parent est libéré de son attente vfork et s'exécute simultanément avec l'arrière-petit-fils dans le même mm (espace mémoire). Ni l'un ni l'autre n'a passé par futex_hash_allocate_default().

Lorsque les deux appellent prctl(PR_FUTEX_HASH, PR_FUTEX_HASH_SET_SLOTS) en même temps, chacun voit mm->futex.phash.ref comme NULL et stocke son propre compteur par CPU (percpu counter). Seule la dernière écriture survit. Le compteur stocké en premier n'est plus accessible depuis le mm, de sorte que les références qui y sont associées ne sont pas vues par __futex_ref_atomic_end(). Un hachage privé qui possède encore des références est alors considéré comme mort et libéré, et une tâche détenant toujours l'un de ses buckets écrit dans une mémoire déjà libérée lors de futex_q_lock().

Stocker le compteur une seule fois avec cmpxchg() et laisser celui qui échoue (le perdant) effectuer un free_percpu() sur son propre compteur. La référence initiale doit être acquise avant l'écriture, sinon une autre tâche peut installer un hachage privé tandis que le compteur est encore à 0.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Responsable

Linux

Réserver

26/08/2026

Divulgation

04/09/2026

Modérer

accepté

Entrée

VDB-398926

CPE

prêt

EPSS

0.00000

KEV

non

Activités

très faible

Sources

Do you need the next level of professionalism?

Upgrade your account now!