CVE-2026-23074 in Linux
الملخص
بحسب VulDB • 16/06/2026
في نواة لينكس، تم حل الثغرة التالية:
net/sched: فرض أن teql يمكن استخدامه فقط كـ qdisc للجذر (root qdisc)
الغرض التصميمي من teql هو أنه من المفترض استخدامه فقط كـ qdisc للجذر. نحتاج إلى التحقق من هذا القيد.
على الرغم من أنه ليس أمرًا مهمًا، سأصف السيناريو الذي كشف عن هذه المشكلة للمهتمين.
نجح GangMin Kim <[email protected]> في ابتكار سيناريو على النحو التالي:
جذر qdisc 1:0 (QFQ) ├── الفئة 1:1 (الوزن=15، lmax=16384) netem مع تأخير 6.4 ثانية └── الفئة 1:2 (الوزن=1، lmax=1514) teql
يرسل GangMin حزمة يتم وضعها في الطابور في 1:1 (netem). أي استدعاء لعملية dequeue بواسطة QFQ من هذه الفئة لن يعيد حزمة إلا بعد مرور 6.4 ثانية. في هذه الأثناء، يتم إرسال حزمة ثانية وتصل إلى 1:2. ستعيد عملية enqueue الخاصة بـ teql نجاحًا، مما سيقوم بتنشيط الفئة 1:2. المشكلة الرئيسية هي أن teql يقوم بتحديث qlen المرئي للأب (sch->q.qlen) فقط عند عملية dequeue. نظرًا لأن QFQ سيتصل بـ dequeue فقط إذا نجحت عملية peek (و peek الخاص بـ teql يعيد NULL دائمًا)، فلن يتم استدعاء dequeue أبدًا، وبالتالي سيظل qlen مساويًا لـ 0. بناءً على ذلك، عندما يقوم GangMin بتحديث قيمة lmax الخاصة بـ 1:2، فإن qfq_change_class تستدعي qfq_deact_rm_from_agg. نظرًا لأن qlen الخاص بـ qdisc الابن لم يتم زيادته، يفشل qfq في تعطيل الفئة، لكنه لا يزال يقوم بتحرير مؤشراتها من المجموعة. لذلك، عندما يتم إعادة جدولة الحزمة الأولى بعد 6.4 ثانية (تأخير netem)، يتم الوصول إلى مؤشر معلق (dangling pointer) مما يتسبب في حدوث UAF (استخدام بعد التحرير) لـ GangMin.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.