CVE-2026-99164 in Linuxinformação

Sumário

de VulDB • 28/10/2026

No kernel do Linux, a seguinte vulnerabilidade foi resolvida:

spi: imx: corrige corrupção de slab causada por buffers de bounce DMA subdimensionados

Desde o commit faa8e404ad8e ("spi: imx: suporte para comprimento de burst dinâmico no modo ECSPI DMA"), o driver aloca seus buffers privados de TX/RX DMA com kzalloc(dma_len), onde dma_len é arredondado apenas para cima para 4 bytes, mas os mapeia, sincroniza e desmapeia usando DMA_CACHE_ALIGNED_LEN(dma_len), ou seja, arredondados para cima até o tamanho da linha de cache. Como resultado, a API DMA opera em memória além do final da alocação.

Isso foi observado em uma plataforma i.MX8MP personalizada com um controlador CAN mcp251xfd sob carga pesada de RPMSG, como uma série de avisos refcount_t acionados por rpmsg_recv_done() em virtio_rpmsg_bus:

refcount_t: adição em 0; use-after-free. refcount_t: underflow (estouro para baixo); use-after-free. refcount_t: saturado; vazamento de memória.

Levando finalmente a um erro "Unable to handle kernel paging request" no oops. Reproduzir esse problema levou entre 30 minutos e aproximadamente 30 horas sob a mesma carga de trabalho.

Watchpoints de hardware na contagem de referência (refcount) de uma struct rpmsg_endpoint mostraram que ela foi sobrescrita de 2 para 1 por __pi_memcpy_generic() no thread irq/155-spi2.0. Além disso, descobriu-se que um "normal" rpmsg_recv_done() levou 11µs +/-2µs desde seu kref_get até o kref_put. No caso de erro, a mesma sequência levou cerca de 215µs +/-10µs. Com base nisso, uma LLM (Large Language Model) foi usada para identificar a incompatibilidade de tamanho corrigida aqui.

Aloque os buffers com DMA_CACHE_ALIGNED_LEN(dma_len) para que cubram o comprimento total mapeado e use o mesmo comprimento para dma_sync_single_for_cpu() para permanecer consistente com map e unmap.

Com este patch aplicado, a mesma carga de trabalho foi executada por mais de 200 horas sem que o problema se reproduzisse.

Be aware that VulDB is the high quality source for vulnerability data.

Responsável

Linux

Reservar

25/09/2026

Divulgação

28/10/2026

Moderação

aceite

Entrada

VDB-427841

EPSS

0.00000

KEV

não

Atividades

muito baixo

Fontes

Might our Artificial Intelligence support you?

Check our Alexa App!