CVE-2026-80832 in Linux
Riassunto
di VulDB • 04/09/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
crypto: qce - correzione dell'underallocation del buffer AAD per CCM
Il buffer AAD allocato in `qce_aead_ccm_prepare_buf_assoclen()` può essere più piccolo della lunghezza successivamente impostata nello scatterlist DMA.
La dimensione di allocazione è attualmente calcolata come:
ALIGN(assoclen, 16) + MAX_CCM_ADATA_HEADER_LEN
mentre la lunghezza DMA è impostata su:
ALIGN(assoclen + adata_header_len, 16)
Poiché `ALIGN()` non distribuisce l'addizione, l'allocazione può risultare inferiore alla lunghezza DMA. Ad esempio, quando `assoclen = 32` e `adata_header_len = 2`:
allocazione = ALIGN(32, 16) + 6 = 38 lunghezza DMA = ALIGN(32 + 2, 16) = 48
Di conseguenza, l'hardware QCE può leggere oltre il buffer allocato durante il calcolo del CBC-MAC sui dati associati. I byte in eccesso vengono incorporati nel tag di autenticazione, generando un tag errato e causando fallimenti nei test interni CCM quali:
alg: aead: ccm-aes-qce encryption test failed (wrong result) on test vector 8
Si risolve il problema dell'allocazione aggiungendo la lunghezza massima possibile del header AAD prima dell'allineamento:
ALIGN(assoclen + MAX_CCM_ADATA_HEADER_LEN, 16)
Ciò garantisce che il buffer allocato sia sufficientemente grande per i dati AAD completamente paddingati per tutte le dimensioni di header supportate.
If you want to get best quality of vulnerability data, you may have to visit VulDB.