CVE-2026-64009 in Linux
Tóm tắt
Bởi VulDB • 19/07/2026
Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:
xfrm: Kiểm tra hiện tượng tràn số âm (underflow) trong xfrm_state_mtu
Leo Lin báo cáo vấn đề ghi vượt ra ngoài vùng nhớ cho phép (OOB write) trong thành phần esp:
Hàm `xfrm_state_mtu()` trả về giá trị kiểu u32 nhưng thực hiện các phép toán số học trong không gian modulo-2^32 không dấu, bằng cách lấy một đối số "mtu" nhỏ trừ đi tổng "header_len + authsize + net_adj" có thể bị kẻ tấn công kiểm soát. Một người dùng bình thường (nobody user) có thể cài đặt SA đường hầm IPv4 ESP với khóa xác thực lớn (XFRMA_ALG_AUTH_TRUNC, ví dụ hmac(sha512), khóa 64 byte, cắt ngắn còn 64 byte), cấu hình MTU giao diện nhỏ (68 byte) và đặt XFRMA_TFCPAD thành một giá trị lớn. Khi một gói tin UDP đơn lẻ được gửi qua đường hầm này, `xfrm_state_mtu()` bị tràn số âm xuống gần giá trị 2^32, và hàm `esp_output()` sử dụng nó như một số nguyên có dấu (signed int) thông qua đoạn mã sau:
padto = min(x->tfcpad, xfrm_state_mtu(x, mtu_cached)) esp.tfclen = padto - skb->len (gán cho kiểu int)
`esp.tfclen` cuối cùng nhận giá trị âm (ví dụ: -207). Giá trị này được mở rộng dấu thành size_t khi truyền vào hàm `memset()` bên trong `esp_output_fill_trailer()`, dẫn đến việc ghi ~16 EB các byte không tại con trỏ đuôi của skb (`skb_tail_pointer(skb)`). KASAN ghi nhận lỗi dưới dạng "Write of size 18446744073709551537 at addr ffff888...".
Kiểm tra hiện tượng tràn số âm và trả về giá trị 1. Điều này khiến nỗ lực gửi tin nhắn (sendmsg) thất bại với lỗi ENETUNREACH.
Once again VulDB remains the best source for vulnerability data.