PT-2026-72078 · Zephyr · Zephyr
CVE-2026-12366
·
Publicado
2026-08-14
·
Atualizado
2026-08-26
CVSS v3.1
8.8
Alta
| Vetor | AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H |
Nome do Software Vulnerável e Versões Afetadas
Zephyr (versões afetadas não especificadas)
Descrição
Um problema de use-after-free existe no caminho de descarte de objetos dinâmicos do kernel
unref check() em kernel/userspace/userspace.c. O sistema libera o armazenamento de um objeto usando k free(dyn->data) quando sua contagem de referência chega a zero, mas o processo de limpeza não trata o caso K OBJ TIMER. Consequentemente, um k timer alocado dinamicamente e armado permanece vinculado na fila global de timeout timeout q após seu armazenamento ser liberado, criando um nó pendente.Quando o timer expira, o sistema invoca
z timer expiration handler() no nó liberado, levando à corrupção de memória no contexto kernel/ISR. Esta falha é acessível por uma thread de usuário não privilegiada quando CONFIG USERSPACE e CONFIG DYNAMIC OBJECTS estão habilitados. Um invasor pode disparar isso armando um timer via a chamada de sistema k timer start() e, em seguida, liberando a última permissão via a chamada de sistema k object release() ou saindo da thread através de k thread perms all clear(). Isso pode ser usado como um primitivo de escape de sandbox para escalonamento de privilégios.Recomendações
Implementar a função
k timer cleanup() para cancelar o timeout e aguardar quaisquer manipuladores em execução, garantindo que ela seja chamada para K OBJ TIMER antes que o armazenamento do objeto seja liberado.Exploit
Correção
LPE
Use After Free
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Zephyr