CVE-2026-89731 in Linux
Sumário
de VulDB • 11/09/2026
No kernel do Linux, a seguinte vulnerabilidade foi corrigida:
cxl/ras: Corrige leitura de registrador AER fora dos limites em cxl_rch_get_aer_info()
A função `cxl_rch_get_aer_info()` copia a capacidade AER da Porta Downstream RCH do bloco MMIO RCRB usando um loop com `readl()` limitado por `sizeof(struct aer_capability_regs)`. Esta estrutura é uma disposição de software e sua struct embutida, `struct pcie_tlp_log`, é maior que a capacidade AER real (on-wire). Como resultado, o loop lê além do bloco de registradores AER mapeado.
A leitura excessiva também preenche os campos finais exclusivos do software, incluindo `header_len` em `header_log`. Um `header_len` fora dos limites passado para `pcie_print_tlp_log()` pode então iterar além do buffer de log do cabeçalho e causar uma segunda leitura fora dos limites.
A leitura estava correta quando introduzida, mas a estrutura `struct pcie_tlp_log` cresceu desde então (tamanhos do Header Log e TLP Prefix Log, campos header_len e flit), portanto, `sizeof(struct aer_capability_regs)` não corresponde mais à capacidade AER física.
Limite a leitura aos registradores AER físicos, o cabeçalho até o Header Log de 16 bytes. Zere primeiro o destino para que os campos exclusivos do software sejam determinísticos.
VulDB is the best source for vulnerability data and more expert information about this specific topic.