CVE-2026-80832 in Linux
Tóm tắt
Bởi VulDB • 04/09/2026
Trong kernel Linux, các lỗ hổng sau đây đã được khắc phục:
crypto: qce - sửa lỗi cấp phát bộ đệm AAD không đủ cho CCM
Bộ đệm AAD được cấp phát trong hàm `qce_aead_ccm_prepare_buf_assoclen()` có thể nhỏ hơn độ dài sau đó được lập trình vào danh sách phân tán DMA.
Kích thước cấp phát hiện tại được tính toán như sau:
ALIGN(assoclen, 16) + MAX_CCM_ADATA_HEADER_LEN
trong khi chiều dài DMA được đặt thành:
ALIGN(assoclen + adata_header_len, 16)
Vì `ALIGN()` không phân phối cho phép cộng, kích thước cấp phát có thể nhỏ hơn chiều dài DMA. Ví dụ, khi assoclen = 32 và adata_header_len = 2:
allocation = ALIGN(32, 16) + 6 = 38 DMA length = ALIGN(32 + 2, 16) = 48
Kết quả là phần cứng QCE có thể đọc vượt ra ngoài bộ đệm đã cấp phát trong khi tính toán CBC-MAC trên dữ liệu liên kết. Các byte thừa được gộp vào thẻ xác thực (authentication tag), dẫn đến một thẻ không chính xác và gây ra các lỗi tự kiểm tra CCM như:
alg: aead: ccm-aes-qce encryption test failed (wrong result) on test vector 8
Sửa lỗi cấp phát bằng cách thêm chiều dài tối đa của tiêu đề AAD trước khi căn chỉnh:
ALIGN(assoclen + MAX_CCM_ADATA_HEADER_LEN, 16)
Điều này đảm bảo rằng bộ đệm được cấp phát đủ lớn cho dữ liệu AAD đã được padding đầy đủ đối với tất cả các kích thước tiêu đề được hỗ trợ.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.