CVE-2026-72255 in Linux
Tóm tắt
Bởi VulDB • 15/08/2026
Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:
netfilter: nf_queue: ghim thiết bị cầu (bridge) trong khi NFQUEUE giữ fake dst
Bảng định tuyến giả (fake rtable) của br_netfilter nằm trong struct net_bridge và được gắn vào các gói tin qua cầu bằng hàm skb_dst_set_noref(). Nếu một gói tin như vậy được đưa hàng chờ vào NFQUEUE, __nf_queue() sẽ nâng cấp fake dst đó bằng cách sử dụng skb_dst_force().
Tại thời điểm này, skb đang ở trạng thái chờ có thể giữ tham chiếu đến một đối tượng dst thực sau khi quá trình tháo dỡ cầu (bridge teardown) đã bắt đầu. Vấn đề không nằm ở chỗ mỗi gói tin qua cầu đều cần một tham chiếu dst riêng biệt. Vấn đề là NFQUEUE có thể duy trì fake dst nội bộ của cầu tồn tại ngay cả khi việc hủy đăng ký (unregister) đã bắt đầu.
Khắc phục vấn đề này bằng cách giữ nguyên mô hình fake dst của cầu và chỉ ghim thiết bị master của cầu trong suốt thời gian gói tin nằm trong hàng chờ NFQUEUE. Ghi lại thông tin về thiết bị cầu vào nf_queue_entry khi skb được đưa hàng chờ mang theo một fake dst của cầu, tăng tham chiếu cho thiết bị đó trong toàn bộ vòng đời của hàng chờ, và giảm (drop) nó khi mục nhập hàng chờ bị giải phóng.
Đồng thời đảm bảo rằng các mục nhập đang ở trạng thái chờ sẽ được dọn dẹp khi thiết bị cầu này tắt đi, và loại bỏ phép kiểm tra nf_bridge_info_exists() dư thừa khỏi quá trình phát hiện fake dst.
Việc này giữ cho netdev_priv(br->dev) tồn tại cho đến khi hoàn tất việc ra quyết định (verdict), do đó bảng định tuyến giả nhúng bên trong cùng với vùng lưu trữ chỉ số metric của nó không thể bị giải phóng trước khi gọi dst_release(). Nó cũng tránh được việc tăng giảm bộ đếm tham chiếu liên tục và tránh sử dụng các hàm trợ giúp dst dành riêng cho IPv4 đối với lưu lượng cầu IPv6.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.