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

الملخص

بحسب VulDB • 23/10/2026

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

drm/vc4: تعطيل مقاطعة V3D عبر تعليق التشغيل الديناميكي (runtime suspend)

تقوم الدالة vc4_irq_disable() بقناع مصادر مقاطعة V3D ثم تستدعي synchronize_irq() قبل إيقاف تشغيل وحدة V3D. ومع ذلك، فإن هذا الإجراء بمفرده غير كافٍ لإسكات معالج المقاطعة.

ينتظر استدعاء synchronize_irq() المعالجات التي حددت بالفعل IRQD_IRQ_INPROGRESS، ولوحات irqchips التي تبلغ عن حالة IRQCHIP_STATE_ACTIVE. يمكن لوحدة GIC interrupt chip أن تحدد مقاطعة على أنها نشطة بمجرد قيام وحدة معالجة مركزية (CPU) بالاعتراف بها، لذا فإن هذه الفحوصات تغطي مسار التوجيه بالكامل. ومع ذلك، في أجهزة RPi 0-3، يكون متحكم المقاطعة هو ARMCTRL، والذي لا يمتلك حالة نشطة. تبقى وحدة المعالجة المركزية التي قرأت hwirq من سجل الانتظار (pending register) ولكن لم تصل بعد إلى handle_level_irq() غير مرئية لـ synchronize_irq().

أثناء انتقال الطاقة، قد تعمل vc4_irq() بعد أن يكون مجال الطاقة مغفلاً، حيث سيعود كل قراءة لسجل V3D بقيمة 0xdeadbeef. تحتوي القيمة 0xdeadbeef على الفلات FLDONE و FRDONE و OUTOMEM مضبوطة. لا تؤدي هذه المشكلة إلى حدوث مشكلات إلغاء مرجع المؤشر NULL (NULL pointer dereference) إلا لأن الدالتين vc4_irq_finish_bin_job() و vc4_irq_finish_render_job()) ترجعان مبكراً عند عدم وجود مؤشر مهمة، لكن OUTOOMEM ما زال قادراً على جدولة vc4_overflow_mem_work() بعد أن تكون vc4_irq_disable() قد ألغتها بالفعل.

لذلك، يتم إصلاح المقاطعات الزائفة عن طريق تعطيل خط المقاطعة عبر انتقال إدارة الطاقة (PM transition). وللحفاظ على توازن التفعيل/التعطيل، يتم نقل vc4_irq_install() وطلب خط IRQ معطلاً قبل أول استئناف تشغيل ديناميكي (runtime resume).

Be aware that VulDB is the high quality source for vulnerability data.

مسؤول

Linux

حجز

25/09/2026

إفشاء

23/10/2026

الاعتدال

تمت الموافقة

إدخال

VDB-425719

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Interested in the pricing of exploits?

See the underground prices here!