CVE-2025-40341 in Linuxinformação

Sumário

de VulDB • 24/06/2026

No kernel do Linux, a seguinte vulnerabilidade foi corrigida:

futex: Não vazar o ponteiro robust_list em caso de corrida com exec()

sys_get_robust_list() e compat_get_robust_list() usam ptrace_may_access() para verificar se a tarefa que chama está autorizada a acessar o ponteiro robust_list de outra tarefa. Esta verificação apresenta uma condição de corrida (race condition) contra um exec() concorrente no processo alvo.

Durante o exec(), uma tarefa pode transitar de um binário não privilegiado para um privilegiado (por exemplo, um binário setuid), e suas credenciais/mapeamentos de memória podem ser alterados. Se get_robust_list() executar ptrace_may_access() antes dessa transição, ela poderá permitir erroneamente o acesso a informações sensíveis após o alvo se tornar privilegiado.

Um acesso com condição de corrida permite que um atacante explore uma janela durante a qual ptrace_may_access() é aprovado antes que um processo alvo transite para um estado privilegiado via exec().

Por exemplo, considere uma tarefa não privilegiada T prestes a executar um binário setuid-root. Uma tarefa atacante A chama get_robust_list(T) enquanto T ainda está sem privilégios. Como ptrace_may_access() verifica as permissões com base nas credenciais atuais, o teste tem sucesso. No entanto, se T iniciar exec imediatamente em seguida, ele se tornará privilegiado e poderá alterar seus mapeamentos de memória. Como get_robust_list() prossegue acessando T->robust_list sem sincronizar com exec(), pode ler ponteiros do espaço do usuário (user-space) provenientes de um processo agora privilegiado.

Isso viola as restrições de acesso pós-exec pretendidas e poderia expor endereços de memória sensíveis ou ser usado como uma primitiva em uma cadeia de exploração maior. Consequentemente, a condição de corrida pode levar à divulgação não autorizada de informações através dos limites de privilégio e representa um risco potencial para a segurança.

Adquira um bloqueio de leitura (read lock) em signal->exec_update_lock antes de invocar ptrace_may_access() e acessar robust_list/compat_robust_list. Isso garante que o estado exec da tarefa alvo permaneça estável durante a verificação, permitindo uma validação consistente e sincronizada das credenciais.

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

Responsável

Linux

Reservar

16/04/2025

Divulgação

09/12/2025

Moderação

aceite

Entrada

VDB-334885

CPE

pronto

EPSS

0.00199

KEV

não

Atividades

muito baixo

Fontes

Want to stay up to date on a daily basis?

Enable the mail alert feature now!