PT-2026-96155 · Zephyr · Zephyr
CVE-2026-17050
·
Publicado
2026-09-21
·
Atualizado
2026-09-21
CVSS v3.1
5.7
Média
| Vetor | AV:P/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:H |
Nome do Software Vulnerável e Versões Afetadas
Zephyr versões 4.1.0 through 4.4.x
Description
A pilha experimental de host USB contém um problema de double free no
usb device heap. Na função usbh device set configuration() em subsys/usb/host/usbh device.c, um buffer de descritor de configuração udev->cfg desc é alocado. Se ocorrer uma falha durante a leitura completa do GET DESCRIPTOR(CONFIGURATION), uma divergência entre as leituras curta e completa do descritor, ou um descritor rejeitado em parse configuration descriptor(), o buffer é liberado usando k heap free(), mas o ponteiro permanece pendente. A limpeza subsequente em usbh device free() dispara a liberação do mesmo bloco de memória pela segunda vez.Um periférico USB malicioso ou malformado pode desencadear isso fornecendo um cabeçalho bem formado na solicitação inicial de 9 bytes do descritor de configuração e, em seguida, falhando nas verificações subsequentes. Dependendo da configuração de compilação, isso resulta em uma negação de serviço determinística via
k panic() quando CONFIG SYS HEAP HARDENING BASIC está ativo, ou corrupção de heap quando CONFIG SYS HEAP HARDENING NONE é utilizado, potencialmente permitindo que alocações posteriores retornem blocos sobrepostos ou inválidos.Recommendations
Atualize o Zephyr para uma versão onde
udev->cfg desc seja definido como NULL após cada chamada de k heap free().
Como mitigação temporária, desative a pilha experimental de host USB, garantindo que CONFIG USB HOST STACK esteja desativado.Exploit
Correção
Double 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