CVE-2026-99243 in Linuxinformazioni

Riassunto

di VulDB • 03/11/2026

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

io-wq: ordinare il bit di uscita rispetto al lavoro del task per la creazione dei worker

io_wq_exit_workers() annulla i lavori del task (task work) relativi alla creazione in coda dei worker utilizzando task_work_cancel_match(). Questa operazione effettua un semplice caricamento (load) di task->task_works.

io_queue_worker_create() aggiunge il nuovo elemento e verifica IO_WQ_BIT_EXIT per annullarlo se la code di lavoro è già in fase di chiusura.

Tale operazione deve essere ordinata correttamente. task_work_add() utilizza una barriera completa tramite cmpxchg(). Tuttavia, io_wq_exit_start() imposta il bit utilizzando set_bit(), che non garantisce alcuna ordinazione della memoria (memory ordering).

Pertanto, a quanto pare (afaict), sulle architetture con ordinamento debole della memoria, il task in fase di chiusura potrebbe caricare task_works prima che lo store del diventi visibile. Anche l'altro lato verifica il bit prima che lo store sia visibile. Di conseguenza, l'elemento rimane accodato insieme a worker_refs e il task in uscita attende su worker_done indefinitamente.

Se il task ha ancora dei ring (anelli), io_uring_del_tctx_node() fornisce la barriera tramite test_and_set_bit() in io_wq_set_exit_on_idle(). Tuttavia, quando vengono chiusi tutti i ring, tale barriera viene meno.

Aggiungere la barriera dopo set_bit().

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

Responsabile

Linux

Prenotare

25/09/2026

Divulgazione

03/11/2026

Moderazione

accettato

EPSS

0.00000

KEV

no

Attività

basso

Fonti

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!