🔍 CVE-2026-80832

0.0
CVSS Score
UNKNOWN
2026-09-04
2026-10-19 09:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 qce 암호화 모듈에서 CCM AAD 버퍼 할당 시 크기가 실제 DMA 전송 길이보다 작게 계산되는 취약점이 발견되었습니다. 이로 인해 QCE 하드웨어가 할당된 버퍼 범위를 벗어나 데이터를 읽게 되어 인증 태그 오류 및 CCM 셀프 테스트 실패를 유발할 수 있습니다.

💡 쉬운 설명

데이터를 암호화할 때 필요한 임시 저장 공간을 실제 필요한 크기보다 작게 만드는 계산 오류가 있습니다. 이 때문에 컴퓨터가 허용된 범위를 넘어서 데이터를 읽으려다 암호화 검증에 실패하게 됩니다.

🇺🇸 원문 (English)

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.

📍 영향받는 시스템

Linux kernel (qce crypto driver module)

⚔️ 공격 벡터

특정 조건의 AAD(추가 인증 데이터) 길이를 입력하여 메모리 경계 외 읽기 유도

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 버퍼 할당 로직 수정

🔧 검증 코드

현재 실행 중인 커널 버전을 확인하여 해당 취약점이 수정된 패치 버전인지 확인합니다.

Shell / Script
uname -r

💻 영향받는 소프트웨어

Linux Kernel