CVE-2026-98260
exec: Limpeza dos temporizadores POSIX logo após de_thread()
- Publicado
- 6 de out. de 2026
- Atualizado
- 30 de out. de 2026
- Atribuindo CNA
- Linux
- Evidência observada
- 4 de nov. de 2026
CVSS primário
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HBaixo · próximos 30 dias
- Percentil
- 8,2%
- Data do modelo
- 4 de nov. de 2026
EPSS é uma estimativa estatística, não uma certeza ou uma medida de impacto. Combine-o com CVSS, status KEV, exposição e seu ambiente.
Resumo
No kernel Linux, a seguinte vulnerabilidade foi resolvida: exec: Limpar temporizadores POSIX logo após de_thread() Um temporizador de CPU por thread mantém uma referência ao PID da thread à qual está anexado e, enquanto está armado, o seu nó está enfileirado nos posix_cputimers dessa thread. A tarefa é procurada por esse PID. Quando uma thread não-líder exec()a, de_thread() altera qual tarefa é dona desse PID. pid_task(timer->it.cpu.pid, PIDTYPE_PID) passa então a retornar NULL, mas o nó continua enfileirado em tsk, que está viva. timer_lock_sighand() interpreta uma procura falhada como sinal de que o nó já foi desenfileirado, pelo que não tem nada a desfazer. begin_new_exec() chama posix_cpu_timers_exit(me) logo após exec_task_namespaces() e isso remove o nó remanescente, pelo que o estado normalmente permanece invisível. Mas bprm->point_of_no_return é definido antes de de_thread(), pelo que, se unshare_files(), set_mm_exe_file(), exec_mmap() ou exec_task_namespaces() falharem, a tarefa morre antes de lá chegar. exit_itimers() liberta então o k_itimer enquanto o seu nó ainda está enfileirado, e a recolha de tsk mais tarde apaga esse nó já libertado da rbtree. Em resumo: a thread não-líder B o pai timer_create(CLOCK_THREAD_CPUTIME_ID) timer_settime() arm_timer() // o nó é enfileirado em B execve() de_thread(B) exchange_tids(B, leader) // o PID de B pertence agora ao líder release_task(leader) __exit_signal(leader) posix_cpu_timers_exit(leader) // limpa a fila do líder, não a de B __unhash_process(leader) // esse PID já não tem tarefa 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() // libertado enquanto ainda enfileirado wait4() release_task(B) posix_cpu_timers_exit(B) cleanup_timerqueue() timerqueue_del() // use-after-free Mover a limpeza dos temporizadores POSIX para logo após de_thread(), antes de qualquer uma das condições de falha posteriores levar a tarefa a do_exit(). [ tglx: Mover a limpeza para logo após de_thread() ]
Fontes
- CVE-2026-98260Exploit
Uso responsável
Use informações de vulnerabilidade apenas em sistemas que você possui ou está autorizado a testar. O Kitploit vincula-se a metadados de pesquisa pública e não armazena código de exploração ou cargas maliciosas.