CVE-2026-74586
sctp: إزالة new_transport عند إزالة نظير
- تم النشر
- 22/08/2026
- محدث
- 25/08/2026
- تخصيص CNA
- Linux
- الأدلة المرصودة
- 09/09/2026
CVSS الأساسي
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:Hمنخفض · الثلاثين يومًا القادمة
- المئوية
- 41.7%
- تاريخ الموديل
- 21/09/2026
EPSS هو تقدير إحصائي، وليس يقينًا أو مقياسًا للتأثير. ادمجها مع CVSS وحالة KEV والتعرض وبيئتك.
ملخص
في نواة لينكس، تم حل الثغرة الأمنية التالية: sctp: مسح new_transport عند إزالة نظير تقوم الدالة sctp_process_asconf_param() بتخزين نقل نظير مضاف حديثًا في asoc->new_transport. بعد معالجة جميع المعاملات في كتلة ASCONF، تستخدم الدالة sctp_sf_do_asconf() هذا المؤشر لإرسال HEARTBEAT إلى النقل الجديد. يمكن لـ ASCONF مُصادَق من نظير SCTP بعيد إضافة نقل وإزالته مرة أخرى باستخدام معامل DEL-IP بحرف بدل (wildcard) في نفس الكتلة. يحافظ حذف الحرف البدل على النقل الذي وصلت عبره ASCONF، ولكنه يزيل النقل المضاف حديثًا من خلال sctp_assoc_del_nonprimary_peers(). لا يؤدي الإزالة إلى مسح asoc->new_transport، مما يتركه يشير إلى النقل المُزال. ثم تنشئ sctp_sf_do_asconf() رسالة HEARTBEAT يكون chunk->transport فيها مشيرًا إلى النقل المُزال دون الاحتفاظ بمرجع نقل. أثناء استبدال العنوان المحلي، تُبقي src_out_of_asoc_ok رسالة HEARTBEAT هذه على control_chunk_list. بعد تحرير النقل بواسطة RCU، تؤدي رسالة ASCONF_ACK ناجحة للعنوان البديل إلى تحرير HEARTBEAT المُصطف، وتقرأ sctp_outq_select_transport() حالة النقل المُحرَّر. تم اكتشاف المشكلة أثناء تدقيق ثابت لكائنات SCTP. مع نظير مُصادَق، أطلق المُعيد للإنتاج نفس تقرير KASAN في تشغيلين من أصل تشغيلين غير مُصحَّحين على نواة netdev/main مُفعَّلة بـ KASAN: BUG: KASAN: slab-use-after-free in sctp_outq_select_transport Read of size 4 at addr ffff88800b9bd95c by task python3/197 Call Trace: sctp_outq_select_transport+0x549/0x8b0 [sctp] sctp_outq_flush+0x306/0x2c60 [sctp] sctp_transport_immediate_rtx+0xaf/0x260 [sctp] sctp_process_asconf_ack+0xa48/0xf70 [sctp] Allocated by task 197: sctp_transport_new+0x68/0x650 [sctp] sctp_assoc_add_peer+0x258/0x12a0 [sctp] sctp_process_asconf+0x5e9/0x1090 [sctp] Last potentially related work creation: __call_rcu_common.constprop.0+0x77/0xb70 sctp_assoc_del_nonprimary_peers+0x7c/0xd0 [sctp] sctp_process_asconf+0xd9c/0x1090 [sctp] كان أول وصول غير صالح عبارة عن قراءة بأربعة بايتات لحقل transport->state في net/sctp/outqueue.c:833. أكمل المُعيد للإنتاج نفسه تسلسل ASCONF المُصادَق الكامل واستبدال العنوان المحلي مع هذا التغيير دون تقرير KASAN أو تعطل. امسح new_transport عند إزالة نظيره، قبل أن يمكن استخدامه لإنشاء HEARTBEAT.
المصادر
1الاستخدام المسؤول
استخدم معلومات الثغرات الأمنية فقط على الأنظمة التي تمتلكها أو المرخص لها باختبارها. يرتبط Kitploit ببيانات تعريف البحث العامة ولا يخزن أكواد الاستغلال أو الحمولات الضارة.