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

الملخص

بحسب VulDB • 17/09/2026

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

media: cx231xx: رفض تغييرات الهندسة (geometry) أثناء شغل قائمة VBI المشغول

تقوم الدالتان vidioc_s_fmt_vid_cap() و vidioc_s_std() بتغيير العرض dev->width / المعيار dev->norm على مستوى الجهاز بأكمله، لكنهما ترفضان التغيير فقط عندما تكون قائمة *الفيديو* (dev->vidq) مشغولة. تشترك قائمة VBI (dev->vbiq) في نفس الهندسة: حيث يقوم cx231xx_init_vbi_isoc() بتثبيت قيمة dma_q->lines_per_field من dev->norm، ويتم تحديد حجم مستوى videobuf2 الخاص بـ VBI بناءً على dev->width / dev->norm في الدالتين vbi_queue_setup() و vbi_buf_prepare()، ثم يعيد cx231xx_do_vbi_copy() حساب إزاحة الوجهة (offset) من dev->width *الحية* والقيم المثبتة لـ lines_per_field عند كل اكتمال لوحدة نقل غير متزامنة (URB):

offset = lines_completed * (dev->width << 1) + ...; if (dma_q->current_field == 2) offset += dev->width * 2 * dma_q->lines_per_field; memcpy(plane + offset, p_buffer, lencopy);

نظراً لأن عقدة VBI تشترك مع عقدة الفيديو في عمليات واجهة برمجة التطبيقات video_ioctl_ops، يمكن لتطبيق ما تحديد حجم صغير لمستوى VBI (REQBUFS/QBUF بعرض صغير، أو باستخدام المعيار NTSC)، ثم زيادة dev->width (أو تبديل dev->norm إلى PAL) من خلال عقدة الفيديو أثناء تشغيل دفق VBI -- حيث يُسمح بالتغيير لأن فحص dev->vidq فقط هو الذي يتم إجراؤه -- والسماح للجهاز بتسليم حمولة VBI للحقل 2. تقوم cx231xx_do_vbi_copy() الآن بحساب الإزاحة باستخدام الهندسة الأكبر، وتقوم بنسخ البيانات (memcpy()) خارج حدود المستوى الأصغر الذي تم تخصيصه مسبقاً، وهو ما يمثل كتابة خارج النطاق في الذاكرة العشوائية (heap out-of-bounds write) تكون فيها الإزاحة مختارة من قبل المهاجم ومحتوياتها قادمة من الجهاز. لا تساعد الحراسة الخاصة بكل حقل الموجودة في cx231xx_copy_vbi_line(): فهي تحدد حدود عملية النسخ بناءً على lines_per_field المثبتة، وليس السعة الحقيقية للمستوى، ولا تعيد vb2 تشغيل buf_prepare() لوسيط تم تحضيره مسبقاً بالفعل.

رفض تغيير التنسيق/المعيار عندما تكون قائمة VBI مشغولة أيضاً، بحيث لا يمكن أن تتغير الهندسة تحت وسيط VBI مُخصص.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

مسؤول

Linux

حجز

11/09/2026

إفشاء

17/09/2026

الاعتدال

تمت الموافقة

إدخال

VDB-405730

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you need the next level of professionalism?

Upgrade your account now!