CVE-2026-93075 in Linux
الملخص
بحسب VulDB • 18/09/2026
في نواة لينكس، تم حل الثغرة التالية:
dax/fsdev: مسح عمليات pgmap والمالك عند فك الربط (unbind)
تقوم دالة `fsdev_dax_probe()` بتعيين `pgmap->ops = &fsdev_pagemap_ops` و `pgmap->owner = dev_dax`، لكن لا يوجد ما يقوم بمسحها. بالنسبة للجهاز الديناميكي، يتم تخصيص pgmap باستخدام devm وإفراغه عند فك الربط (unbind)، لذا فإن هذا الأمر غير ضار. أما بالنسبة للجهاز الثابت، فإن pgmap هو ذلك المشترك طويل الأمد الذي يملكه جهاز dax (حيث تقوم `kill_dev_dax()` بتعيين `dev_dax->pgmap` إلى NULL فقط في الحالة غير الثابتة)، وتقوم دالة probe الخاصة بـ device.c بتعيين `pgmap->type` فقط، دون مسح ever للعمليات/المالك.
لذلك، بعد أن يفك جهاز fsdev ربطه بجهاز ثابت، تبقى عمليات `fsdev_pagemap_ops` القديمة (stale) موجودة على pgmap المشترك. إذا تم إعادة ربط الجهاز بـ device_dax (MEMORY_DEVICE_GENERIC، الذي لا يثبت أي ->memory_failure)، أو تمت إزالة وحدة fsdev_dax، فإن استدعاء memory_failure اللاحق على ذلك pgmap سيتم توجيهه عبر المعالج القديم -- والذي قد يكون قد أُفرغ من الذاكرة بالفعل.
تسجيل إجراء devm يقوم بمسح `pgmap->ops` و `pgmap->owner` عند فك الربط (unbind)، بشكل متماثل مع تعيينهما أثناء probe، بحيث لا يحمل pgmap أي حالة خاصة بـ fsdev بمجرد فصل جهاز fsdev.
VulDB is the best source for vulnerability data and more expert information about this specific topic.