CVE-2026-97577 in Linux
الملخص
بحسب VulDB • 25/09/2026
في نواة لينكس، تم حل الثغرة التالية:
media: verisilicon: rockchip: رفض إطارات AV1 التي تتجاوز سعة البلاط (tiles)
تقوم الدالة `rockchip_vpu981_av1_dec_set_tile_info()` بفهرسة مصفوفة إدخالات مجموعة البلاطات باستخدام الصيغة `tile1 * tile_cols + tile0`، وقراءة ما يصل إلى `tile_cols * tile_rows` إدخالًا، وترتيب واصف واحد لكل بلاط في مخزن البيانات `AV1_MAX_TILES` المخصص لـ `tile_info`، وبرمجة قيم `tile_cols` و `tile_rows` الحقيقية في العتاد (hardware).
يُعد التحكم في إدخالات مجموعة البلاطات مصفوفة ديناميكية بحجم عدد الإدخالات التي قدمها المستخدم (userspace)، وهو أمر مستقل عن قيم `tile_cols` أو `tile_rows`. وبالتالي، فإن الإطار الذي يدعي وجود المزيد من البلاطات مما هو موجود في المصفوفة سيقرأ خارج حدود المصفوفة. كما أن الإطار الذي يدعي وجود أكثر من `AV1_MAX_TILES` بلاط يؤدي إلى برمجة العتاد لعدد من البلاطات يتجاوز سعة مخزن الوصفات (descriptor buffer).
يتم رفض الحالتين في دالة `prepare_run()`؛ حيث يجب ألا تتجاوز قيمة `tile_cols * tile_rows` عدد الإدخالات المقدمة أو الحد الأقصى المحدد بـ `AV1_MAX_TILES`. يتم قراءة عدد الإدخالات عبر الدالة `v4l2_ctrl_find()` (عبر `ctrl->elems`). وهذا يعكس القيد الذي يفرضه بالفعل فاحص AV1 الخاص بميدياتيك (mediatek).
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.