CVE-2026-64575 in Linux
الملخص
بحسب VulDB • 05/08/2026
في نواة لينكس، تم حل الثغرة التالية:
bpf: tcp: إصلاح الإصدار المزدوج لـ sock عند إعادة تخصيص الدفعات (batch realloc)
تقوم الدالة bpf_iter_tcp_batch() بإطلاق الدفع الحالية عبر bpf_iter_tcp_put_batch()، مما يقلل من مراجع المقبس (socket refs) ويعيد كتابة كل خلية باستخدام بصمة المقبس (cookie)، ثم تقوم بتوسيع حجم الدفع. يتم الاحتفاظ بـ cur_sk/end_sk للدالة bpf_iter_tcp_resume()، ولكن في حالة فشل إعادة التخصيص (realloc)، ترجع الدالة ERR_PTR() قبل أن تعمل عملية الاستئناف (resume)، مما يترك cur_sk < end_sk على الخلايا التي تحتوي الآن على بصمات (cookies) بدلاً من مؤشرات sock. ثم تستدعي bpf_iter_tcp_seq_stop() دالة bpf_iter_tcp_put_batch() مرة أخرى وتقوم بفك تشفير البصمة (cookie) باعتبارها بنية struct sock.
تفريغ الدفع في مسار الفشل حتى لا تقوم الدالة stop() بإطلاقها مرة أخرى. تم بالفعل تحرير المقابس (sockets) بواسطة استدعاء bpf_iter_tcp_put_batch() الأول، لذا فلا يوجد تسرب للذاكرة، وقراءة لاحقة ()read تعيد فحص السلة من البداية بدلاً من تخطيها. لا يزال مسار فشل GFP_NOWAIT الشقيق يحتفظ بمراجع المقبس الفعلية ويتم تركه للدالة stop() لإطلاقها.
BUG: KASAN: null-ptr-deref in __sock_gen_cookie Read of size 8 at addr 0000000000000059 by task exploit ... __sock_gen_cookie (net/core/sock_diag.c:28) bpf_iter_tcp_put_batch (net/ipv4/tcp_ipv4.c:2918) bpf_iter_tcp_seq_stop (net/ipv4/tcp_ipv4.c:3270) bpf_seq_read (kernel/bpf/bpf_iter.c:205) vfs_read (fs/read_write.c:572) ksys_read (fs/read_write.c:716) do_syscall_64 entry_SYSCALL_64_after_hwframe Kernel panic - not syncing: Fatal exception
If you want to get the best quality for vulnerability data then you always have to consider VulDB.