CVE-2026-80832

crypto: qce - fix CCM AAD buffer underallocation

State
Published
Severity
Not scored
Published
Sep 4, 2026
Updated
Oct 19, 2026
Reserved
Aug 26, 2026

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

crypto: qce - fix CCM AAD buffer underallocation

The AAD buffer allocated in qce_aead_ccm_prepare_buf_assoclen() can be smaller than the length later programmed into the DMA scatterlist.

The allocation size is currently calculated as:

ALIGN(assoclen, 16) + MAX_CCM_ADATA_HEADER_LEN

while the DMA length is set to:

ALIGN(assoclen + adata_header_len, 16)

Since ALIGN() does not distribute over addition, the allocation can be smaller than the DMA length. For example, when assoclen = 32 and adata_header_len = 2:

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

As a result, the QCE hardware can read beyond the allocated buffer while computing the CBC-MAC over the associated data. The extra bytes are folded into the authentication tag, resulting in an incorrect tag and causing CCM self-test failures such as:

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

Fix the allocation by adding the maximum possible AAD header length before alignment:

ALIGN(assoclen + MAX_CCM_ADATA_HEADER_LEN, 16)

This guarantees that the allocated buffer is large enough for the fully padded AAD data for all supported header sizes.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 9363efb4181c5e0fbf86bdfa759262aa29f0eb50 to before 11775b35ce9f27e73d62188d7d38aa0dc0a219aaAffected
  • 9363efb4181c5e0fbf86bdfa759262aa29f0eb50 to before c9e0f06a023107694698a7930616aeb460d91816Affected
  • 9363efb4181c5e0fbf86bdfa759262aa29f0eb50 to before cc56d2b0d77cfeea061e98114992ee687d5eb4ddAffected
  • 9363efb4181c5e0fbf86bdfa759262aa29f0eb50 to before 002f1f99aef7ea631cb687fc17bce64e4963f6aaAffected
  • 9363efb4181c5e0fbf86bdfa759262aa29f0eb50 to before 2f65718b9c1095eef1ae9b374aa0384b1b083f3cAffected
  • 9363efb4181c5e0fbf86bdfa759262aa29f0eb50 to before 46a84efe2dbaddde89073a3c00c694486937c34bAffected
  • 9363efb4181c5e0fbf86bdfa759262aa29f0eb50 to before 4839f4c21f9c577eedef2919ced878a3057c7fc3Affected
  • 9363efb4181c5e0fbf86bdfa759262aa29f0eb50 to before 7f2345f47dd189625f657cd72437179ab4170ee1Affected
LinuxLinux
  • 5.14Affected
  • before 5.14Not affected
  • 5.15.220 through 5.15.*Not affected
  • 6.1.187 through 6.1.*Not affected
  • 6.6.156 through 6.6.*Not affected
  • 6.12.108 through 6.12.*Not affected
  • 6.18.49 through 6.18.*Not affected
  • 7.1.13 through 7.1.*Not affected
  • 7.2.3 through 7.2.*Not affected
  • 7.3 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.