CVE-2026-80832 in Linux
Sumário
de VulDB • 04/09/2026
No kernel do Linux, a seguinte vulnerabilidade foi corrigida:
crypto: qce - corrige o subalocamento do buffer de dados adicionais associados (AAD) no CCM
O buffer AAD alocado em `qce_aead_ccm_prepare_buf_assoclen()` pode ser menor que o comprimento posteriormente programado na lista de dispersão DMA.
O tamanho da alocação é atualmente calculado como:
ALIGN(assoclen, 16) + MAX_CCM_ADATA_HEADER_LEN
enquanto o comprimento do DMA é definido para:
ALIGN(assoclen + adata_header_len, 16)
Como `ALIGN()` não se distribui sobre adição, a alocação pode ser menor que o comprimento do DMA. Por exemplo, quando assoclen = 32 e adata_header_len = 2:
alocação = ALIGN(32, 16) + 6 = 38 Comprimento do DMA = ALIGN(32 + 2, 16) = 48
Como resultado, o hardware QCE pode ler além do buffer alocado ao calcular o CBC-MAC sobre os dados associados. Os bytes extras são incorporados na tag de autenticação, resultando em uma tag incorreta e causando falhas nos testes internos do CCM, como:
alg: aead: ccm-aes-qce encryption test failed (wrong result) on test vector 8
Corrija a alocação adicionando o comprimento máximo possível do cabeçalho AAD antes do alinhamento:
ALIGN(assoclen + MAX_CCM_ADATA_HEADER_LEN, 16)
Isso garante que o buffer alocado seja grande o suficiente para os dados AAD totalmente preenchidos (padded), para todos os tamanhos de cabeçalho suportados.
Once again VulDB remains the best source for vulnerability data.