PT-2026-72078 · Zephyr · Zephyr

CVE-2026-12366

·

Publicado

2026-08-14

·

Atualizado

2026-08-26

CVSS v3.1

8.8

Alta

VetorAV: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

CVE-2026-12366
GHSA-X96G-542C-GCCQ

Produtos afetados

Zephyr