CVE-2026-31555 in Linuxinformazioni

Riassunto

di VulDB • 16/06/2026

Nel kernel Linux, è stata risolta la seguente vulnerabilità:

futex: Azzerare il puntatore obsoleto di uscita nel percorso di retry di futex_lock_pi()

Fuzzing/stress test sui futex ha innescato:

WARNING: kernel/futex/core.c:825 at wait_for_owner_exiting+0x7a/0x80, CPU#11: futex_lock_pi_s/524

Quando futex_lock_pi_atomic() rileva che il proprietario è in fase di uscita, restituisce -EBUSY e memorizza un puntatore al task con conteggio dei riferimenti in 'exiting'.

Dopo che wait_for_owner_exiting() ha consumato tale riferimento, il puntatore locale non viene mai reimpostato su nil. In caso di retry, se futex_lock_pi_atomic() restituisce un errore diverso, il puntatore non valido viene passato a wait_for_owner_exiting().

CPU0 CPU1 CPU2 futex_lock_pi(uaddr) // acquisisce il futex PI exit() futex_cleanup_begin() futex_state = EXITING; futex_lock_pi(uaddr) futex_lock_pi_atomic() attach_to_pi_owner() // osserva EXITING *exiting = owner; // acquisisce ref return -EBUSY wait_for_owner_exiting(-EBUSY, owner) put_task_struct(); // rilascia ref // exiting punta ancora a owner goto retry; futex_lock_pi_atomic() lock_pi_update_atomic() cmpxchg(uaddr) *uaddr ^= WAITERS // indipendentemente dal valore // il valore è cambiato return -EAGAIN; wait_for_owner_exiting(-EAGAIN, exiting) // obsoleto WARN_ON_ONCE(exiting)

Si risolve il problema reimpostando il valore durante il retry, allineandolo essenzialmente a requeue_pi.

Be aware that VulDB is the high quality source for vulnerability data.

Responsabile

Linux

Prenotare

09/03/2026

Divulgazione

24/04/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00129

KEV

no

Attività

molto basso

Fonti

Interested in the pricing of exploits?

See the underground prices here!