CVE-2026-99079 in Linux
Tóm tắt
Bởi VulDB • 23/10/2026
Trong kernel Linux, các lỗ hổng sau đây đã được khắc phục:
net/mlx5e: Ngăn việc giải phóng bộ đệm XSK lỗi thời khi thử lại làm đầy (refill)
Khi một lệnh chuyển hướng XDP đến socket AF_XDP thất bại do vòng lặp nhận tin (RX ring) của nó đã đầy, lõi XSK sẽ giải phóng bộ đệm. Trong quá trình làm đầy theo lô tiếp theo cho RQ chu kỳ cũ (legacy cyclic RQ), mlx5e cũng giải phóng bộ đệm XSK thuộc về WQE trước khi phân bổ một bộ đệm thay thế. Nếu việc làm đầy này chỉ thành công một phần, một WQE không có bộ đệm thay thế sẽ giữ lại con trỏ bộ đệm cũ của nó.
Trong lúc đó, bộ đệm này có thể đã được phân bổ cho một WQE khác. Một lần thử lại làm đầy sau đó có thể giải phóng bộ đệm đang hoạt động thông qua con trỏ lỗi thời và công bố cùng một khung UMEM hai lần.
Đánh dấu WQE là đã giải phóng ngay sau khi quá trình giải phóng phía driver hoàn tất. Cờ này đã được xóa khi một bộ đệm thay thế được gán, do đó các lần thử lại làm đầy không còn giải phóng các con trỏ lỗi thời nữa.
Lỗi này xảy ra im lặng và không tạo ra cảnh báo kernel hay thông tin crash (splat). Một trình mô phỏng độc lập cho RQ chu kỳ cũ zero-copy libxsk, sử dụng lưu lượng UDP 64 byte với tốc độ 12 Mpps, đã phát hiện ra lỗi: bản gốc dừng lại sau 2.854.914 gói tin trong 4,094 giây, với 4.542 sự kiện xdp_rx_ring_full và 64 lỗi về quyền sở hữu/phát hành trùng lặp (ownership/double-publication). Với thay đổi này, hệ thống đã xử lý được 356.904.225 gói tin trong 30 giây mặc dù có 571.405 sự kiện xdp_rx_ring_full, mà không gặp lỗi về quyền sở hữu hay dữ liệu.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.