CVE-2026-72247 in Linux
Tóm tắt
Bởi VulDB • 16/08/2026
Trong kernel Linux, các lỗ hổng sau đây đã được khắc phục:
netfilter: nf_conncount: sửa lỗi so sánh zone trong quá trình dedup (loại bỏ trùng lặp) tuple
Logic "đã tồn tại" để dedup trong hàm __nf_conconn_add() quyết định xem một kết nối đã được đếm và có thể bị bỏ qua thay vì tăng bộ đếm connlimit hay không. Nó so sánh zone của conntrack với entry trên danh sách với zone của kết nối đang được thêm vào bằng cách sử dụng nf_ct_zone_id() và nf_ct_zone_equal(), truyền conn->zone.dir hoặc zone->dir làm đối số direction (hướng).
Các hàm trợ giúp này nhận các giá trị enum ip_conntrack_dir: IP_CT_DIR_ORIGINAL là 0 và IP_CT_DIR_REPLY là 1. Tuy nhiên, zone->dir là một bitmask u8: NF_CT_ZONE_DIR_ORIG là 1, NF_CT_ZONE_DIR_REPL là 2 và NF_CT_DEFAULT_ZONE_DIR là 3. Việc truyền bitmask đó dưới dạng enum direction làm thay đổi ý nghĩa của mọi giá trị khác không. Một zone chỉ có ORIG (gốc) sẽ truyền giá trị 1 và bị kiểm tra như là REPLY (phản hồi), trong khi các zone REPL-only (chỉ phản hồi) và default (mặc định) truyền giá trị 2 hoặc 3, dẫn đến việc kiểm tra các bit vượt quá phạm vi direction hợp lệ. Trong những trường hợp đó, nf_ct_zone_id() có thể chuyển sang sử dụng NF_CT_DEFAULT_ZONE_ID thay vì dùng zone id thực tế, do đó các zone khác nhau có thể được coi là bằng nhau và cơ chế dedup bị suy biến chỉ còn so sánh tuple đơn thuần.
nf_conncount lưu trữ và so sánh tuple hướng gốc (original-direction) cho một kết nối. Nếu skb đã có entry conntrack đính kèm, get_ct_or_tuple_from_skb() sẽ sao chép rõ ràng ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple, bất kể ctinfo của gói tin là gì. Do đó, việc so sánh zone trong đường dẫn dedup tuple cũng phải sử dụng IP_CT_DIR_ORIGINAL; bitmask direction zone mô tả nơi một zone id áp dụng, chứ không phải hướng nào mà tuple conncount này đại diện.
Sửa hai phép so sánh dedup bằng cách truyền trực tiếp IP_CT_DIR_ORIGINAL. Không xử lý đặc biệt NF_CT_DEFAULT_ZONE_DIR và không so sánh các raw (nguyên thủy) zone ids: việc sử dụng các hàm trợ giúp hiện có với IP_CT_DIR_ORIGINAL sẽ bảo toàn cơ chế fallback của NF_CT_DEFAULT_ZONE_ID nhạy cảm với direction. Một zone bidirectional mặc định chứa bit ORIG, do đó nó tự động trả về real zone id; các zone reply-only tiếp tục thực hiện fallback cho các phép so sánh tuple hướng gốc.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.