PT-2026-102353 · Zephyr · Zephyr

·

CVE-2026-18414

·

Publicado

2026-09-28

·

Atualizado

2026-09-28

CVSS v3.1

7.8

Alta

VetorAV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Nome do Software Vulnerável e Versões Afetadas Zephyr (versões afetadas não especificadas)
Descrição O driver ADI MAX32 não valida corretamente o tamanho do buffer de destino para sequências de amostragem. A função start read() em drivers/adc/adc max32.c compara a contagem de bytes buffer size com uma contagem de amostras sem considerar o tamanho de um uint16 t, permitindo a aceitação de buffers com metade do tamanho necessário. Isso resulta em uma gravação fora dos limites quando as amostras são armazenadas via Wrap MXC ADC GetData() em adc max32 start channel() para leituras síncronas ou adc max32 isr() para leituras assíncronas.
Em compilações com CONFIG USERSPACE, onde adc read() e adc read async() são chamadas de sistema, uma thread de modo de usuário não privilegiada com acesso a um dispositivo ADC MAX32 pode controlar channels, buffer, buffer size e options->extra samplings. Isso permite que o driver escreva além do limite do buffer no modo kernel, ignorando as restrições da MPU e corrompendo a memória adjacente do kernel, outras partições ou pilhas de threads. Isso pode resultar em escalonamento de privilégios ou negação de serviço.
Recomendações Atualize a função start read() para utilizar o auxiliar adc sequence validate buffer() em drivers/adc/adc common.c para validar corretamente o tamanho do buffer com base no tamanho de amostra uint16 t.

Exploit

Correção

Memory Corruption

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2026-18414
GHSA-GHM4-78MM-8V2C

Produtos afetados

Zephyr