CVE-2026-52924
sctp: تطهير قائمة الانتظار الصادرة عند معالجة COOKIE-ECHO منتهية الصلاحية
- تم النشر
- 24/06/2026
- محدث
- 15/09/2026
- تخصيص CNA
- Linux
- الأدلة المرصودة
- 07/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منخفض · الثلاثين يومًا القادمة
- المئوية
- 37.4%
- تاريخ الموديل
- 21/09/2026
EPSS هو تقدير إحصائي، وليس يقينًا أو مقياسًا للتأثير. ادمجها مع CVSS وحالة KEV والتعرض وبيئتك.
ملخص
في نواة لينكس، تم حل الثغرة الأمنية التالية: sctp: تطهير قائمة الانتظار الصادرة عند معالجة COOKIE-ECHO القديمة يتم استدعاء sctp_stream_update() فقط عندما يتم نقل الارتباط إلى حالة COOKIE_WAIT أثناء إعداد/إعادة تكوين الارتباط. في هذا المسار، يُتوقع أن تكون حالة جدولة التدفق الصادر (stream->out_curr) نظيفة، حيث لا ينبغي أن تكون أي بيانات مستخدم قد أُرسلت بعد ما لم تكن آلة الحالة قد تقدمت جزئيًا بالفعل. ومع ذلك، توجد حالة حافة في sctp_sf_do_5_2_6_stale(): عند استلام خطأ Stale Cookie، يتم إرجاع الارتباط من COOKIE_ECHOED إلى COOKIE_WAIT. في هذا السيناريو، قد تكون بيانات المستخدم قد تم وضعها في قائمة الانتظار وحتى دمجها مع كتلة COOKIE-ECHO. أثناء الإرجاع، يقوم sctp_stream_update() بتحرير جدول التدفقات القديم وتثبيت جدول جديد، لكنه لا يبطل stream->out_curr. ونتيجة لذلك، قد يظل out_curr يشير إلى إدخال sctp_stream_out محرر من حالة التدفق السابقة. لاحقًا، تعتمد مسارات إزالة الصفوف من جدولة SCTP (FCFS، RR، PRIO، إلخ) على stream->out_curr->ext، مما قد يؤدي إلى استخدام بعد التحرير (use-after-free) بمجرد تحرير حالة التدفق القديمة عبر sctp_stream_free(). يؤدي هذا إلى أعطال مثل (أبلغ عنها Yuqi): BUG: KASAN: slab-use-after-free in sctp_sched_fcfs_dequeue+0x13a/0x140 Read of size 8 at addr ff1100004d4d3208 by task mini_poc/9312 CPU: 1 UID: 1001 PID: 9312 Comm: mini_poc Not tainted 7.1.0-rc1-00305-gbd3a4795d574 #5 PREEMPT(full) sctp_sched_fcfs_dequeue+0x13a/0x140 sctp_outq_flush+0x1603/0x33e0 sctp_do_sm+0x31c9/0x5d30 sctp_assoc_bh_rcv+0x392/0x6f0 sctp_inq_push+0x1db/0x270 sctp_rcv+0x138d/0x3c10 أصلح هذا عن طريق تطهير قائمة الانتظار الصادرة للارتباط بالكامل عند معالجة حالة Stale Cookie. يضمن ذلك إسقاط جميع حالات الإرسال وإعادة الإرسال المعلقة، وإبطال أي مؤشرات مخزنة مؤقتًا لدى الجدولة، مما يجعل إعادة بناء حالة التدفق أثناء إعادة تشغيل COOKIE_WAIT آمنة. لن يكون تحديث stream->out_curr فقط كافيًا، لأن البيانات الموجودة في قائمة الانتظار والقابلة لإعادة الإرسال ستظل تشير إلى حالة التدفق القديمة وتؤدي إلى استخدام بعد التحرير لاحقًا في مسارات إزالة الصفوف.
المصادر
1- CVE-2026-52924البحث
الاستخدام المسؤول
استخدم معلومات الثغرات الأمنية فقط على الأنظمة التي تمتلكها أو المرخص لها باختبارها. يرتبط Kitploit ببيانات تعريف البحث العامة ولا يخزن أكواد الاستغلال أو الحمولات الضارة.