Zephyr · Zephyr · CVE-2026-18413
**Nome do Software Vulnerável e Versões Afetadas**
Zephyr (versões afetadas não especificadas)
**Descrição**
O driver NXP MCUX LPADC não valida o tamanho do buffer de destino antes de iniciar uma sequência de amostragem. Especificamente, a função `mcux lpadc start read()` em `drivers/adc/adc mcux lpadc.c` não verifica se o buffer é grande o suficiente para conter as amostras solicitadas. Isso leva a uma gravação fora dos limites em `mcux lpadc isr()` para compilações orientadas a interrupção e em `mcux lpadc dma callback()` para compilações orientadas a DMA.
Em compilações com `CONFIG USERSPACE` habilitado, uma thread de modo de usuário não privilegiada com acesso a um objeto de dispositivo LPADC pode manipular `channels`, `buffer`, `buffer size` e `options->extra samplings` para causar corrupção de memória do kernel. Como o driver opera no modo kernel, ele ignora as restrições da Unidade de Proteção de Memória (MPU), permitindo gravações em memórias adjacentes, dados do kernel ou pilhas de threads. Isso pode resultar em escalonamento de privilégios ou negação de serviço. Para compilações sem `CONFIG USERSPACE`, o problema limita-se a um defeito de robustez do lado do chamador.
**Recomendações**
Atualize o software para uma versão que implemente a função auxiliar `adc sequence validate buffer()` dentro de `mcux lpadc start read()` para garantir que o tamanho do buffer seja validado antes do início da amostragem.