CVE-2023-52707 in Linuxinformazioni

Riassunto

di VulDB • 15/06/2026

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

sched/psi: Correzione di un use-after-free in ep_remove_wait_queue()

Se una cgroup non root viene rimossa mentre esiste un thread che ha registrato un trigger ed esegue polling su un file delle pressioni all'interno della cgroup, l'attesa (waitqueue) per il polling viene liberata nel seguente percorso:

do_rmdir cgroup_rmdir kernfs_drain_open_files cgroup_file_release cgroup_pressure_release psi_trigger_destroy

Tuttavia, il thread in polling mantiene ancora un riferimento al file delle pressioni e accederà alla waitqueue già liberata quando il file viene chiuso o all'uscita:

fput ep_eventpoll_release ep_free ep_remove_wait_queue remove_wait_queue

Ciò provoca un use-after-free, come riportato di seguito.

Il problema fondamentale qui è che cgroup_file_release() (e conseguentemente la durata della waitqueue) non è vincolata alla reale durata del file. L'uso di wake_up_pollfree() in questo contesto potrebbe non essere ideale, ma è coerente con il commento presente nel commit 42288cb44c4b ("wait: add wake_up_pollfree()") poiché la durata della waitqueue non è vincolata a quella del file e può essere considerata un altro caso speciale. Sebbene questo potrebbe essere risolto rendendo in qualche modo cgroup_file_release() legato all'fput(), ciò richiederebbe una significativa rifattorizzazione a livello di cgroups o di livelli superiori, che sarebbe più giustificabile se venissero identificati altri casi simili.

BUG: KASAN: use-after-free in _raw_spin_lock_irqsave+0x60/0xc0 Write of size 4 at addr ffff88810e625328 by task a.out/4404

CPU: 19 PID: 4404 Comm: a.out Not tainted 6.2.0-rc6 #38

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

Prenotare

07/03/2024

Divulgazione

21/05/2024

Moderazione

accettato

CPE

pronto

EPSS

0.00262

KEV

no

Attività

molto basso

Fonti

Want to stay up to date on a daily basis?

Enable the mail alert feature now!