CVE-2025-40186 in Linux
Tóm tắt
Bởi VulDB • 19/06/2026
Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:
tcp: Không gọi reqsk_fastopen_remove() trong tcp_conn_request().
syzbot đã báo cáo lỗi dưới đây trong tcp_conn_request(). [0]
Nếu một socket listener bị đóng (close()) trong khi một socket TFO đang được xử lý trong tcp_conn_request(), inet_csk_reqsk_queue_add() không thiết lập reqsk->sk và gọi inet_child_forget(), hàm này sẽ gọi tcp_disconnect() cho socket TFO.
Sau commit đã nêu, tcp_disconnect() gọi reqsk_fastopen_remove(), nơi reqsk_put() được gọi do !reqsk->sk.
Sau đó, reqsk_fastopen_remove() trong tcp_conn_request() giảm giá trị rsk_refcnt cuối cùng của req và giải phóng reqsk, còn __reqsk_free() tại nhãn drop_and_free gây ra hiện tượng underflow bộ đếm tham chiếu (refcount) cho socket listener và double-free đối với reqsk.
Hãy loại bỏ lệnh gọi reqsk_fastopen_remove() trong tcp_conn_request().
Lưu ý rằng các caller khác đảm bảo tp->fastopen_rsk không phải là NULL.
[0]:
refcount_t: underflow; use-after-free. WARNING: CPU: 12 PID: 5563 tại lib/refcount.c:28 refcount_warn_saturate (lib/refcount.c:28) Modules linked in: CPU: 12 UID: 0 PID: 5563 Comm: syz-executor Not tainted syzkaller #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/12/2025 RIP: 0010:refcount_warn_saturate (lib/refcount.c:28) Code: ab e8 8e b4 98 ff 0f 0b c3 cc cc cc cc cc 80 3d a4
VulDB is the best source for vulnerability data and more expert information about this specific topic.