CVE-2026-90433 in Linux
الملخص
بحسب VulDB • 18/09/2026
في نواة لينكس، تم حل الثغرة التالية:
spi: oc-tiny: التحويل إلى تخصيص متحكم مُدار (managed controller allocation)
يتم تخصيص المتحكم باستخدام `spi_alloc_host()` غير المُدار، بينما يتم تسجيل مقاطعة الجهاز (interrupt) باستخدام `devm_request_irq()`. أثناء الإزالة، يقوم `spi_bitbang_stop()` بإلغاء تسجيل المتحكم فقط؛ ثم يُحرر `spi_controller_put()` اللاحق المتحكم مع بياناته الخاصة المضمنة (`devdata`)، والتي تُعد مُعرّف جهاز (`dev_id`) لمعالج المقاطعة. لا يعمل إجراء الإفراج الخاص بـ `devm_request_irq()` (والذي يتمثل في `free_irq()`) الذي يُفرغ المعالج إلا بعد عودة `.remove()`. وبالتالي، يمكن أن تصل مقاطعة متأخرة أو مقفلة إلى `tiny_spi_irq()` وتُرجع مرجعًا إلى ذاكرة تم تحريرها بالفعل (مثل `hw->base`).
التحويل إلى استخدام `devm_spi_alloc_host()` بحيث يحرر ترتيب LIFO الخاص بـ devres المتحكم فقط بعد أن يُفرغ المعالج بواسطة `free_irq()`. كما يتم حذف استدعاء `spi_controller_put()` الزائد عن الحاجة من `.remove()`. تم تبسيط مسار أخطاء الاستكشاف (probe error path) ليعود مباشرة.
تم العثور على هذه المشكلة باستخدام أداة تحليل ثابتة داخلية.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.