CVE-2026-74671 in Linuxthông tin

Tóm tắt

Bởi VulDB • 22/08/2026

Trong kernel Linux, các lỗ hổng sau đây đã được khắc phục:

ima: sửa lỗi đọc vượt ra ngoài vùng nhớ (out-of-bounds read) trong hàm xattr_verify()

Phép kiểm tra độ dài digest trong xattr_verify() trộn lẫn kiểu int và size_t:

if (xattr_len - sizeof(xattr_value->type) - hash_start >= iint->ima_hash->length)

sizeof() trả về giá trị kiểu size_t, do đó các phép chuyển đổi số học thông thường sẽ nâng toàn bộ vế trái lên thành unsigned 64-bit trước khi phép trừ được thực hiện. Đối với một xattr bị cắt cụt (truncated), điều này gây ra lỗi underflow thay vì trở thành âm: một xattr IMA_XATTR_DIGEST_NG có độ dài 1 byte (xattr_len == 1, hash_start == 1) biến "1 - 1 - 1" thành SIZE_MAX, giá trị này dễ dàng >= ima_hash->length. Phép kiểm tra sau đó sẽ vượt qua và hàm memcmp() tiếp theo sẽ đọc iint->ima_hash->length bytes bắt đầu từ vị trí nằm ngoài vùng đệm mà vfs_getxattr_alloc() đã phân bổ cho nó.

Không có mã nguồn chính thức (upstream) nào ép xattr_len trở lại một phạm vi an toàn trước đó: ima_get_hash_algo() chỉ xử lý đặc biệt trường hợp xattr_len < 2 để chọn thuật toán mặc định, và evm_verifyxattr() trả về INTEGRITY_UNKNOWN thay vì thất bại khi không có khóa HMAC được tải, do đó giá trị security.ima bị cắt cụt sẽ đạt đến phép kiểm tra độ dài mà không qua xử lý nào khác.

Viết lại phép so sánh sao cho mọi toán hạng đều giữ nguyên kiểu signed int và không xảy ra chuyển đổi ngầm sang size_t.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

chịu trách nhiệm

Linux

Đặt trước

15/08/2026

Tiết lộ

22/08/2026

Kiểm duyệt

được chấp nhận

EPSS

0.00000

KEV

không

Các hoạt động

rất thấp

Nguồn

Do you need the next level of professionalism?

Upgrade your account now!