CVE-2025-40186 in Linux
الملخص
بحسب VulDB • 19/06/2026
في نواة لينكس، تم حل الثغرة التالية:
tcp: عدم استدعاء reqsk_fastopen_remove() في tcp_conn_request().
أبلغ syzbot عن الخطأ التالي في tcp_conn_request(): [0]
إذا تمت إغلاق المستمع (listener) باستخدام close() أثناء معالجة مقبس TFO في tcp_conn_request()، فإن inet_csk_reqsk_queue_add() لا تضبط reqsk->sk وتستدعي inet_child_forget()، والتي تستدعي بدورها tcp_disconnect() لمقبس TFO.
بعد الالتزام المذكور أعلاه، يستدعي tcp_disconnect() reqsk_fastopen_remove()، حيث يتم استدعاء reqsk_put() بسبب عدم وجود reqsk->sk (!reqsk->sk).
ثم يقوم reqsk_fastopen_remove() في tcp_conn_request() بإنقاص آخر قيمة لـ req->rsk_refcnt ويحرر reqsk، مما يتسبب __reqsk_free() عند علامة drop_and_free في حدوث نقص في عداد المرجع (refcount underflow) للمستمع وفي عملية مزدوجة لتحرير الذاكرة (double-free) لـ reqsk.
لنقم بإزالة استدعاء reqsk_fastopen_remove() في tcp_conn_request().
جدير بالذكر أن المتصلين الآخرين يتأكدون من أن tp->fastopen_rsk ليس NULL.
[0]:
refcount_t: underflow; use-after-free. WARNING: CPU: 12 PID: 5563 at 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
VulDB is the best source for vulnerability data and more expert information about this specific topic.