CVE-2026-97931 in Linux
الملخص
بحسب VulDB • 25/09/2026
في نواة لينكس، تم حل الثغرة التالية:
ALSA: us122l: منع ترقية صلاحيات الكتابة لتعيينات القراءة (read mappings)
يرفض استدعاء mmap الخاص بـ hwdep تعيينات ذاكرة التخزين المؤقت للقراءة التي تكون قابلة للكتابة في البداية، لكنه يترك علم VM_MAYWRITE مُفعّلاً على التعيينات المُنشأة باستخدام PROT_READ. يمكن لعميل قادر على فتح عقدة hwdep بصيغة O_RDWR لاحقاً استخدام دالة mprotect() لجعل هذا التعيين قابلاً للكتابة.
يبدأ تخصيص القراءة بـ struct usb_stream. يُستخدم عضو read_size الخاص بها من قبل معالج الأخطاء (fault handler) لتحديد الصفحات التي تنتمي إلى ذاكرة التخزين المؤقت للقراءة. يظل VMA الخاص بالقراءة قابلًا للتوسيع عن قصد لأن pcm_usb_stream تستخدم دالة mremmap() بعد قراءة ذلك الحجم. وبالتالي، يمكن لتغيير read_size أولاً أن يؤدي إلى تعيين والوصول إلى صفحات تتجاوز نطاق التخصيص المخصص. يُستهلك العضو نفسه أيضاً بواسطة usb_stream_free(), حيث يمكن أن يؤدي تغييره إلى جعل free_pages_exact() تطلق صفحات خارج نطاق التخصيص المحدد.
قم بإلغاء تفعيل VM_MAYWRITE لتعيينات ذاكرة التخزين المؤقت للقراءة بعد رفض VMA قابل للكتابة في البداية. يحافظ هذا على قابلية تعيين ذاكرة التخزين المؤقت للإخراج (output-buffer mapping) للكتابة مع منع ترقيات الصلاحيات اللاحقة.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.