CVE-2026-81014 in Linux
Tóm tắt
Bởi VulDB • 12/09/2026
Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:
platform/x86: hp-bioscfg: sửa lỗi đọc heap OOB (ngoài vùng cấp phát) trong sk_store() và kek_store()
sk_store() và kek_store() loại bỏ ký tự xuống dòng cuối cùng từ dữ liệu ghi sysfs trước khi phân bổ bộ khóa:
length = count; if (buf[length - 1] == '\n')
length--; bioscfg_drv.spm_data.signing_key = kmemdup(buf, length, GFP_KERNEL);
nhưng sau đó truyền "count" gốc (thay vì "length") làm kích thước sao chép cho hp_wmi_perform_query(), hàm này sẽ memcpy() số byte tương ứng từ vùng cấp phát có kích thước "length", dẫn đến việc đọc vượt ra ngoài 1 byte bất cứ khi nào dữ liệu ghi kết thúc bằng ký tự xuống dòng, đây là trường hợp bình thường khi sử dụng lệnh shell "echo" để ghi vào sysfs.
KASAN xác nhận trực tiếp điều này:
BUG: KASAN: slab-out-of-bounds in hp_wmi_perform_query+0x1e9/0x460 [hp_bioscfg]
Read of size 28 at addr ffff88813c8e2b80 by task python3/16022 ... sk_store+0xa7/0x240 [hp_bioscfg]
kernfs_fop_write_iter+0x3e1/0x5d0 ... Địa chỉ lỗi nằm trong vùng đã cấp phát kích thước 27 byte [ffff88813c8e2b80, ffff88813c8e2b9b)
Lỗi này được tái hiện giống hệt với kek_store và ở nhiều kích thước ghi khác nhau (28, 57, 201 bytes), mỗi lần đều đọc chính xác một byte vượt ra ngoài vùng cấp phát kmemdup() có kích thước nhỏ hơn dữ liệu ghi đúng 1 byte.
Khắc phục bằng cách truyền "length" thay vì "count" cho hp_wmi_perform_query() trong cả hai hàm.
VulDB is the best source for vulnerability data and more expert information about this specific topic.