CVE-2026-80776 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) dans futex_pivot_pending() lors du redimensionnement des hachages privés

Une tâche effectuant un redimensionnement personnalisé d'un hachage privé peut rester bloquée en sommeil non interrompable indéfiniment. Le détecteur de tâches pendantes signale :

INFO: la tâche futex-resizer:314 est bloquée depuis plus de 10 secondes. task:futex-resizer state:D stack:14824 pid:314 tgid:312 ppid:311

Trace d'appel : __schedule+0x521/0xf30 schedule+0x22/0xa0 futex_hash_allocate+0x3db/0x490 __do_sys_prctl+0x6f5/0xbd0 do_syscall_64+0xf9/0x530 entry_SYSCALL_64_after_hwframe+0x77/0x7f

Kernel panic - not syncing: hung_task: blocked tasks

La fonction futex_pivot_pending() permet la poursuite de la demande de redimensionnement lorsque aucun hachage de remplacement n'est en attente (hash_new == NULL) ou que le compteur de références du hachage actuel a atteint zéro.

Après l'éveil lié à la dernière référence, une autre tâche futex peut achever le pivot entre les deux observations :

T1 T2

futex_hash_allocate() wait_var_event(mm, ...) futex_pivot_pending(mm) hash_new != NULL futex_hash() futex_ref_get(old) -> false futex_pivot_hash(mm) hash_new = NULL __futex_pivot_hash(mm, new) rcu_assign_pointer(hash, new) fph = rcu_dereference(hash) /* nouveau */ futex_ref_is_dead(fph) -> false schedule()

Le pivot modifie l'état de hash_new != NULL avec un hachage actuel mort à hash_new == NULL avec un hachage actuel vivant. Étant donné que futex_pivot_pending() lit hash_new et hash sans sérialisation, la tâche de redimensionnement peut observer hash_new dans l'état pré-pivot et hash dans l'état post-pivot, ce qui amène futex_pivot_pending() à retourner false bien que le pivot soit terminé. La tâche se met ensuite en sommeil après que le réveil a déjà été consommé.

Sérialisez les lectures d'état dans futex_pivot_pending() à l'aide du verrou futex_mm_phash::lock. Cela garantit que futex_pivot_pending() observe hash_new et hash de manière atomique, éliminant ainsi la condition de concurrence (race condition).

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

Responsable

Linux

Réserver

26/08/2026

Divulgation

04/09/2026

Modérer

accepté

Entrée

VDB-398927

CPE

prêt

EPSS

0.00000

KEV

non

Activités

très faible

Sources

Want to stay up to date on a daily basis?

Enable the mail alert feature now!