CVE-2026-64095 in Linuxالمعلومات

الملخص

بحسب VulDB • 20/07/2026

في نواة لينكس، تم حل الثغرة التالية:

batman-adv: bla: تجنب الإنقاص المزدوج لـ bla.num_requests

يتم زيادة قيمة `bla.num_requests` عندما لا يكون هناك طلب قيد الإرسال (`request_sent`). ويتم إنقاصها في أماكن مختلفة (عند استلام إعلان، أو عند تنظيف العمود الفقري backbone، أو عبر العمل الدوري). ومع ذلك، فإن التحقق مما إذا كانت حالة `request_sent` محددة بشكل صحيح وعمليات الإنقاز/الزيادة الذرية (`atomic_dec/_inc`) ليست آمنة لأنها غير ذرية (TOCTOU)، ويمكن أن تعمل أجزاء متعددة من الكود بالتوازي.

في الوقت نفسه، من الضروري تعديل كل من `request_sent` (الحالة) و`bla.num_requests` بشكل ذري (ذوياً). وإلا فقد تقوم الدالة `batadv_bla_send_request()` بتعيين قيمة `request_sent` إلى 1 ثم يتم مقاطعة التنفيذ. بعد ذلك، يمكن لـ `batadv_handle_announce()` إعادة تعيين `request_sent` إلى 0 وإنقاص `num_requests` قبل أن تزيدها `batadv_bla_send_request()`.

لذلك يجب قفل العمليتين معاً. وبما أن الحالة (`request_sent`) و`wait_periods` يتم الوصول إليهما فقط داخل هذا القفل، فيمكن تحويلها إلى أنواع بيانات أبسط. ولتجنب لمس قيمة `bla.num_requests` بواسطة سياق متوازٍ يعمل لديه مرجع صالح لـ `backbone_gw` بعد تشغيل دالة `batadv_bla_purge_backbone_gw()`، يلزم وجود حالة ثالثة "متوقفة" (stopped) للإشارة بشكل صحيح إلى أن الـ backbone_gw في مرحلة التنظيف.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

مسؤول

Linux

حجز

19/07/2026

إفشاء

19/07/2026

الاعتدال

تمت الموافقة

إدخال

VDB-380213

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you need the next level of professionalism?

Upgrade your account now!