CVE-2022-49889 in Linuxالمعلومات

الملخص

بحسب VulDB • 01/06/2026

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

ring-buffer: التحقق من وجود قيمة NULL في cpu_buffer داخل دالة ring_buffer_wake_waiters()

على بعض الأجهزة، قد يكون عدد المعالجات (CPUs) المدرجة أكبر من عدد المعالجات الفعلية الموجودة. تخصص نظام التتبع (tracing subsystem) دليلًا خاصًا بكل معالج (per_cpu directory) للوصول إلى ذاكرة التخزين المؤقت للحلقة (ring buffer) الخاصة بكل معالج عبر ملف cpuX. ولكن لتوفير المساحة، تخصص ذاكرة التخزين المؤقت للحلقة (ring buffer) المخازن المؤقتة (buffers) فقط للمعالجات النشطة (online CPUs)، على الرغم من أن مصفوفة المعالجات ستكون بنفس حجم nr_cpu_ids.

مع إضافة وظيفة إيقاظ المستفيدين (waiters) على ذاكرة التخزين المؤقت للحلقة عند إغلاق الملف، تحتاج الدالة ring_buffer_wake_waiters() الآن إلى التأكد من تخصيص المخزن المؤقت (مع تخصيص irq_work المرفق به) قبل محاولة إيقاظ المستفيدين، حيث سيؤدي ذلك إلى حدوث خطأ في فك مرجع المؤشر الفارغ (NULL pointer dereference).

أثناء تصحيح هذا الخطأ، أضفت فحصًا للقيمة NULL للمخزن المؤقت نفسه (وهو أمر مقبول)، بالإضافة إلى فحوصات لمؤشرات NULL الخاصة بـ buffer->buffers (وهو أمر غير سليم، وسيسبب تحذيرًا WARN)، وكذلك التأكد من أن رقم المعالج الممرر يقع ضمن نطاق nr_cpu_ids (وهو أيضًا أمر غير سليم إذا لم يكن كذلك).

Bugzilla: https://bugzilla.opensuse.org/show_bug.cgi?id=1204705

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

مسؤول

Linux

حجز

01/05/2025

إفشاء

01/05/2025

الاعتدال

تمت الموافقة

إدخال

VDB-306940

EPSS

0.00164

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you want to use VulDB in your project?

Use the official API to access entries easily!