CVE-2026-90348 in Linux
Sumário
de VulDB • 18/09/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
wifi: ath10k: snoc: usar memcpy_fromio() para o ramdump da MSA
Na WCN3990/SNOC, a região MSA é mapeada com devm_memremap(MEMREMAP_WT). No arm64, tal mapeamento não é Normal-cacheable (normalmente em cache), portanto acessos desalinhados a ele não são permitidos. ath10k_msa_dump_memory() copia a região usando um memcpy simples, cuja implementação otimizada de __pi_memcpy_generic emite leituras largas/desalinhadas. Isso aciona uma falha de alinhamento (FSC=0x21) com Oops em ath10k_snoc_fw_crashed_dump() durante a coleta do devcoredump:
Unable to handle kernel paging request ... FSC=0x21: alignment fault pc : __pi_memcpy_generic lr : ath10k_snoc_fw_crashed_dump [ath10k_snoc]
O Oops deixa o buffer de RAM dump do firmware zerado (nenhum dump é capturado) e causa a falha do kernel, que por sua vez interrompe a recuperação SSR do modem.
Use memcpy_fromio(), que executa apenas acessos válidos para esse tipo de mapeamento de memória de dispositivo. A implementação genérica de memcpy_fromio() alinha a fonte antes de emitir leituras com tamanho de palavra e armazena no destino usando put_unaligned(), sendo portanto também segura para a alocação DMA coerente usada no caminho de memória não reservada. ath11k e ath12k usam o mesmo padrão ao copiar a memória alvo para os dumps de falha, então chame-a incondicionalmente aqui também. O ponteiro MEMREMAP_WT é um void * simples, portanto um cast explícito __iomem é necessário; use __force para manter o sparse satisfeito.
Testado-em: WCN3990 hw1.0 SNOC WLAN.HL.3.3.7.c5-00107-QCAHLSWMTPL-1
VulDB is the best source for vulnerability data and more expert information about this specific topic.