CVE-2026-80832 in Linuxinformación

Resumen

por VulDB • 2026-09-04

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:

crypto: qce - corregir la subasignación del búfer AAD en CCM

El búfer AAD asignado en `qce_aead_ccm_prepare_buf_assoclen()` puede ser más pequeño que la longitud programada posteriormente en la lista de dispersión (scatterlist) de DMA.

Actualmente, el tamaño de la asignación se calcula como:

ALIGN(assoclen, 16) + MAX_CCM_ADATA_HEADER_LEN

mientras que la longitud de DMA se establece en:

ALIGN(assoclen + adata_header_len, 16)

Dado que `ALIGN()` no distribuye sobre la suma, la asignación puede ser más pequeña que la longitud de DMA. Por ejemplo, cuando `assoclen = 32` y `adata_header_len = 2`:

allocation = ALIGN(32, 16) + 6 = 38 DMA length = ALIGN(32 + 2, 16) = 48

Como resultado, el hardware QCE puede leer más allá del búfer asignado mientras calcula la CBC-MAC sobre los datos asociados. Los bytes adicionales se incorporan en la etiqueta de autenticación (authentication tag), lo que da lugar a una etiqueta incorrecta y provoca fallos en las pruebas automáticas de CCM, como:

alg: aead: ccm-aes-qce encryption test failed (wrong result) on test vector 8

Se corrige la asignación añadiendo la longitud máxima posible del encabezado AAD antes de aplicar el alineamiento:

ALIGN(assoclen + MAX_CCM_ADATA_HEADER_LEN, 16)

Esto garantiza que el búfer asignado sea lo suficientemente grande para los datos AAD completamente rellenos (padded), independientemente del tamaño del encabezado soportado.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Responsable

Linux

Reservar

2026-08-26

Divulgación

2026-09-04

Moderación

aceptado

Artículo

VDB-398947

CPE

listo

EPSS

0.00178

KEV

no

Actividades

muy bajo

Fuentes

Do you want to use VulDB in your project?

Use the official API to access entries easily!