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

الملخص

بحسب VulDB • 23/10/2026

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

drm/xe/i2c: إلغاء عمل العميل أثناء الإزالة (remove)

تقوم دالة `xe_i2c_notifier()` بتخزين محول DesignWare في `i2c->adapter` وتجدولة `i2c->work` عند تسجيل المحول تحت جهاز المنصة I2C الخاص بـ xe، ثم تقوم دالة `xe_i2c_client_work()` بإنشاء جهاز عميل AMC على ذلك المحول.

تقوم دالة `xe_i2c_remove()` بتفكيك نظام AMC وإلغاء تسجيل أجهزة العملاء ومُعلم البوس (bus notifier) وجهاز منصة المحول، لكنها لا تفريغ (`drains`) أبدًا `i2c->work`. إذا كان عنصر العمل (`work item`) ما زال مكدساً في الطابور أو قيد التشغيل عند إلغاء تسجيل المحول، فإنه يشير إلى `i2c->adapter` داخل دالة `i2c_new_client_device()` بعد أن قام `platform_device_unregister()` بإفراج عن المحول. كما أن عنصر العمل مُضمّن ضمن بنية `xe_i2c` المُخصصة باستخدام `devm`، لذا فإن أي عمل ما زال مكدساً في الطابور بعد عملية التفريغ (`unwind`) الخاصة بجهاز drm عبر `devm` سيُشغل دالة الاستدعاء (callback) على ذاكرة تم إفراغها بالفعل.

يعد مُعلم البوس (bus notifier) الشيء الوحيد الذي يجدولة هذا العمل، ويتم إلغاء تسجيله بعد أجهزة العملاء. لذلك، يمكن للنسخة التي لا تزال مكدسة في الطابور عند تشغيل عملية التفكيك أن تكتب إلى `i2c->client[XE_I2C_CLIENT_AMC]` أثناء حلقة الإلغاء وتصفير المصفوفة نفسها، كما أن عميل AMC الذي يتم إنشاؤه متأخراً يُنظف فقط عن طريق مسح الأطفال الخاص بالمحول في دالة `i2c_del_adapter()`.

تم نقل استدعاء `bus_unregister_notifier()` إلى الأمام قبل حلقة تفكيك العملاء وإلغاء العمل مباشرةً بعد ذلك، بحيث لا يمكن جدولة أي نسخة جديدة ويتم إفراغ النسخة المكدسة في الطابور قبل لمس مصفوفة العملاء. ستجد النسخة التي تعمل حالياً محولاً حياً (live)، حيث يتم إلغاء تسجيل المحول لاحقاً.

(تم اختيارها من الالتزام a23f27d5ec11c3f418c5e5531eea34ccda2b5b20)

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

مسؤول

Linux

حجز

25/09/2026

إفشاء

23/10/2026

الاعتدال

تمت الموافقة

إدخال

VDB-425855

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you need the next level of professionalism?

Upgrade your account now!