CVE-2026-98260
exec: Pulizia dei timer POSIX subito dopo de_thread()
- Pubblicato
- 6 ott 2026
- Aggiornato
- 30 ott 2026
- Assegnazione CNA
- Linux
- Evidenza osservata
- 4 nov 2026
CVSS primario
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HBasso · prossimi 30 giorni
- Percentile
- 8,2%
- Data del modello
- 4 nov 2026
L'EPSS è una stima statistica, non una certezza o una misura di impatto. Combinalo con CVSS, stato KEV, esposizione e ambiente.
Riepilogo
Nel kernel Linux è stata risolta la seguente vulnerabilità: exec: Cleanup POSIX timers right after de_thread() Un timer CPU per-thread mantiene un riferimento al PID del thread a cui è associato e, finché è armato, il suo nodo è accodato nei posix_cputimers di quel thread. L'attività viene cercata tramite quel PID. Quando un thread non leader esegue exec(), de_thread() cambia quale attività possiede quel PID. pid_task(timer->it.cpu.pid, PIDTYPE_PID) restituisce quindi NULL, ma il nodo è ancora accodato su tsk, che è vivo. timer_lock_sighand() interpreta una ricerca fallita come indicazione che il nodo è già rimosso dalla coda, quindi non ha nulla da annullare. begin_new_exec() chiama posix_cpu_timers_exit(me) subito dopo exec_task_namespaces() e questo rimuove il nodo rimasto, quindi lo stato normalmente resta invisibile. Ma bprm->point_of_no_return viene impostato prima di de_thread(), quindi se unshare_files(), set_mm_exe_file(), exec_mmap() o exec_task_namespaces() fallisce, l'attività muore prima di arrivarci. exit_itimers() libera quindi il k_itimer mentre il suo nodo è ancora accodato, e la successiva raccolta di tsk cancella quel nodo liberato dal rbtree. In breve: il thread non leader B il padre timer_create(CLOCK_THREAD_CPUTIME_ID) timer_settime() arm_timer() // il nodo è accodato su B execve() de_thread(B) exchange_tids(B, leader) // il PID di B ora appartiene al leader release_task(leader) __exit_signal(leader) posix_cpu_timers_exit(leader) // pulisce la coda del leader, non quella di B __unhash_process(leader) // quel PID non ha più un'attività exec_mmap() mmap_read_lock_killable(old_mm) kill(B, SIGKILL) // -EINTR get_signal() do_exit() exit_itimers() posix_timer_delete() posix_cpu_timer_del() posix_timer_unhash_and_free() // liberato mentre è ancora accodato wait4() release_task(B) posix_cpu_timers_exit(B) cleanup_timerqueue() timerqueue_del() // use-after-free Spostare la pulizia dei timer POSIX subito dopo de_thread() prima che una qualsiasi delle successive condizioni di errore porti l'attività in do_exit(). [ tglx: Move the cleanup right after de_thread() ]
Fonti
Utilizzo responsabile
Utilizza le informazioni sulla vulnerabilità solo sui sistemi che possiedi o che sei autorizzato a testare. Kitploit si collega ai metadati della ricerca pubblica e non memorizza codici exploit o payload dannosi.