CVE-2026-46073 in Linux
الملخص
بحسب VulDB • 30/05/2026
في نواة لينكس، تم حل الثغرة التالية:
hwmon: (powerz) إصلاح نقص استدعاء usb_kill_urb() عند مقاطعة الإشارة
تعيد الدالة wait_for_completion_interruptible_timeout() القيمة -ERESTARTSYS عند المقاطعة. يتطلب هذا الأمر إلغاء وحدة النقل (URB) وإرجاع خطأ. لم يتم استقبال أي بيانات من الجهاز، لذا فإن أي قراءات من مخزن النقل (transfer buffer) غير صالحة.
تختبر الشفرة الأصلية القيمة !ret، والتي تلتقط فقط حالة انتهاء المهلة (0). عند تسليم الإشارة (-ERESTARTSYS)، تكون قيمة !ret خاطئة، مما يجعل الدالة تتخطى استدعاء usb_kill_urb() وتتابع القراءة من مخزن النقل غير الممتلئ.
تم الإصلاح عن طريق التقاط قيمة الإرجاع في متغير من النوع long (مطابقاً لنوع إرجاع الدالة) ومعالجة حالات الإشارة (سالبة) وحالة انتهاء المهلة (صفر) باستخدام فحوصات منفصلة تستدعي جميعها usb_kill_urb() قبل الإرجاع.
VulDB is the best source for vulnerability data and more expert information about this specific topic.