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

الملخص

بحسب VulDB • 16/09/2026

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

usb: gadget: f_fs: تصحيح مشكلة Use-After-Free في مسار خطأ AIO

في الدالتين `ffs_epfile_write_iter()` و`ffs_epfile_read_iter()`، عندما تفشل دالة `ffs_epfile_io()` بخطأ مختلف عن `-EIOCBQUEUED`، يتم تحرير هيكل البيانات `io_data` (المشار إليه بـ `p`). ومع ذلك، بالنسبة لعمليات AIO، كانت وظيفة إلغاء الـ kiocb مُفعلة مسبقاً وتم تعيين الحقل `kiocb->private` إلى القيمة `p`.

إذا نفذت عملية إلغاء متزامنة (مثل `sys_io_cancel()`) بعد فشل دالة `ffs_epfile_io()` ولكن قبل أن تقوم الدالة بتحرير المتغير `p`، فقد تحدث مشكلة Use-After-Free عندما يحاول معالج الإلغاء الوصول إلى المؤشر الذي تم تحريره.

لإصلاح هذه الحالة التنافسية (Race Condition) بشكل آمن، يجب إلغاء تفعيل عملية الإلغاء بشكل صحيح. إن استدعاء دالة `kiocb->ki_complete()` يحقق ذلك تماماً من خلال الحصول على القفل `ctx->ctx_lock` وإزالة الـ kiocb بأمان من التسلسل النشط. وبذلك، يضمن عدم قدرة أي إجراء متوازٍ لـ io_cancel على اكتشاف الـ kiocب بعد الآن، مما يغلق نافذة الحالة التنافسية بشكل فعال.

ثم نعيد قيمة `-EIOCBQUEUED` لإعلام طبقة VFS بأن الـ kiocb قد تم استهلاكه، وعليها تجنب محاولة إكمال الطلب مرة أخرى أو تشغيل معالجات الإكمال التالية.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

مسؤول

Linux

حجز

11/09/2026

إفشاء

17/09/2026

الاعتدال

تمت الموافقة

إدخال

VDB-405895

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!