PT-2026-57565 · Zephyr · Zephyr
CVE-2026-10663
·
Publicado
2026-07-12
·
Atualizado
2026-07-12
CVSS v3.1
6.1
Média
| Vetor | AV:P/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H |
Nome do Software Vulnerável e Versões Afetadas
Zephyr versões 4.4.0 through 4.4.x
Description
Na pilha experimental de host USB (CONFIG USB HOST STACK), a função
usbh device disconnect() em subsys/usb/host/usbh device.c libera o objeto slab usb device raiz sem limpar o ponteiro em cache ctx->root. O manipulador de remoção de barramento dev removed handler() em subsys/usb/host/usbh core.c decide o que desmantelar baseando-se apenas em ctx->root, verificando apenas se ele não é nulo.Como certos drivers de controlador UHC (como
uhc max3421e e uhc mcux common) sintetizam UHC EVT DEV REMOVED diretamente do estado da linha física do barramento sem debounce ou proteções de estado, um invasor com acesso físico ao USB pode disparar um segundo evento de remoção de dispositivo após a desconexão do dispositivo raiz. Isso faz com que o manipulador reentre em usbh device disconnect() com um ponteiro pendente, resultando em um use-after-free ao bloquear um mutex dentro do objeto liberado e um double-free ao chamar k mem slab free() no bloco já liberado. Se o bloco slab tiver sido reemitido para um novo dispositivo, ocorre a corrupção de memória. O impacto é a negação de serviço (travamento) e corrupção de memória.Recommendations
Atualize o Zephyr para uma versão onde
ctx->root seja limpo em usbh device disconnect() antes que o objeto seja liberado.Exploit
Correção
DoS
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