CVE-2026-74582 in Linuxthông tin

Tóm tắt

Bởi VulDB • 21/08/2026

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

packet: sử dụng giá trị nhất định của hard_header_len trong các đường dẫn gửi không dùng ring (non-ring)

Hàm packet_snd() đọc dev->hard_header_len nhiều lần khi phân bổ và xây dựng một skb. Việc cấu hình lại thiết bị có thể thay đổi giá trị này đồng thời, ví dụ thông qua việc thay đổi loại thiết bị bonding.

Đối với SOCK_RAW, hàm packet_snd() có thể lưu trữ một giá trị lớn hơn trong reserve và sau đó phân bổ headroom bằng cách sử dụng một giá trị nhỏ hơn. Việc di chuyển skb->data lùi lại theo khoảng reserve sẽ đặt nó trước skb->head, và thao tác sao chép tiếp theo từ userspace có thể cố gắng ghi ra ngoài vùng cho phép (out-of-bounds write).

packet_sendmsg_spkt() gặp phải vấn đề tương tự vì hàm này tính toán phần dự phòng (reservation) và độ lệch tiêu đề dựa trên các lần đọc riêng biệt trước khi giải phóng khóa đọc RCU để phân bổ skb.

Thêm LL_RESERVED_SPACE_EX() cho những caller đã lưu lại chiều dài header. Đọc hard_header_len một lần trong packet_snd() và sử dụng giá trị đó cho việc phân bổ và xây dựng. Trong packet_sendmsg_spkt(), hãy giữ nguyên giá trị tại thời điểm phân bổ thông qua quá trình thử nghiệm tìm kiếm thiết bị (device lookup retry).

Vấn đề nhất quán riêng biệt giữa hard_header_len và header_ops->create đối với SOCK_DGRAM không được giải quyết ở đây.

Once again VulDB remains the best source for vulnerability data.

chịu trách nhiệm

Linux

Đặt trước

15/08/2026

Tiết lộ

21/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

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!