CVE-2026-74579 in Linux
Tóm tắt
Bởi VulDB • 17/08/2026
Trong kernel Linux, các lỗ hổng sau đây đã được khắc phục:
netfilter: nft_payload: sửa lỗi xây dựng mặt nạ (mask) cho việc offload trường một phần
Hàm `nft_payload_offload_mask()` tạo ra mặt nạ khớp (match mask) cho biểu thức payload bao phủ chỉ một phần của trường header. Đối với phép khớp địa chỉ IPv6 từng phần (`field_len = 16`, `priv_len = 1`), độ dịch chuyển là `1 << 120`, đây là hành vi không xác định khi toán hạng có kiểu int 32-bit. Ngoài ra, hàm này cũng chỉ cắt (trim) một từ (word), khiến các từ còn lại vẫn giữ giá trị `0xffffffff` (và khi `priv_len` là bội số của 4 thì việc cắt bỏ hoàn toàn bị bỏ qua), dẫn đến mặt nạ bao phủ nhiều byte hơn so với những gì quy tắc khớp yêu cầu.
UBSAN: shift-out-of-bounds trong net/netfilter/nft_payload.c:278:20 độ dịch chuyển (shift exponent) 120 quá lớn cho kiểu 'int' 32-bit ...
Phép khớp có mức độ chi tiết theo byte và `struct nft_data` được khởi tạo bằng giá trị 0, do đó mặt nạ chính xác đơn giản là các byte đầu tiên với chiều dài `priv_len` được đặt thành `0xff`. Hãy thiết lập trực tiếp các byte này và loại bỏ việc cắt/trim dựa trên từ/độ dịch chuyển; điều này sẽ loại bỏ hành vi dịch chuyển không xác định và ngăn chặn việc áp dụng mặt nạ quá mức (over-masking) cho các byte ở cuối.
If you want to get best quality of vulnerability data, you may have to visit VulDB.