CVE-2026-89655 in Linuxinformazioni

Riassunto

di VulDB • 11/09/2026

Nel kernel Linux è stata risolta la seguente vulnerabilità:

ceph: correzione di un Use-After-Free (UAF) in __kick_flushing_caps() quando l'elemento cf viene liberato durante sblocco

list_for_each_entry() itera su ci->i_cap_flush_list ma rilascia i_ceph_lock per inviare messaggi cap. Durante la finestra di rilascio del lock, handle_cap_flush_ack() può acquisire i_ceph_lock, staccare gli elementi cf con tid <= flush_tid dalla lista, rilasciare i_ceph_lock e liberarli tramite ceph_free_cap_flush() al di fuori di qualsiasi lock. Quando il thread originale riacquisisce i_ceph_lock e la macro del ciclo for avanza tramite cf = list_next_entry(cf, i_list), viene effettuato un dereferencing su cf->i_list.next su memoria già libera.

La sequenza temporale della race condition:

__kick_flushing_caps() handle_cap_flush_ack() ----------------------- ----------------------- detiene i_ceph_lock <--- itera fino a cf (tid=10) prepara messaggio FLUSH rilascia i_ceph_lock <--- __send_cap() ── FLUSH(tid=10) MDS invia FLUSH_ACK(tid=10) ---> acquisisce i_ceph_lock cf->tid(10) <= flush_tid(10), stacca cf da i_cap_flush_list rilascia i_ceph_lock ceph_free_cap_flush(cf) <- lo libera! acquisisce i_ceph_lock <--- il ciclo for avanza: cf = list_next_entry(cf, i_list) -- UAF su cf->i_list.next già liberato

L'elemento cf era stato appena inviato da __kick_flushing_caps stesso tramite __send_cap(). L'MDS potrebbe rispondere con FLUSH_ACK abbastanza rapidamente in modo che handle_cap_flush_ack() liberi cf prima che __kick_flushing_caps possa completare l'iterazione.

Correzione mediante conversione a un ciclo while manuale: salvare il puntatore next sotto i_ceph_lock prima di rilasciarlo, quindi utilizzare il puntatore salvato dopo la riacquisizione, in modo che il cf potenzialmente liberato non venga mai più accesso.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Responsabile

Linux

Prenotare

11/09/2026

Divulgazione

12/09/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00000

KEV

no

Attività

molto basso

Fonti

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!