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

الملخص

بحسب VulDB • 22/08/2026

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

hwmon: (pmbus) تصحيح خلل في الأنواع (type confusion) في منطق الإشعارات

أبلغ Sashiko عن ما يلي:

عند بداية الحلقة داخل دالة `pmbus_notify()`، تقوم الشفرة بتحويل كل سمة بشكل غير مشروط إلى بنية `struct sensor_device_attribute`:

```c drivers/hwmon/pmbus/pmbus_core.c:pmbus_notify() {
for (i = 0; i < data->num_attributes; i++) {
struct device_attribute *da = to_dev_attr(data->group.attrs[i]);
struct sensor_device_attribute *attr = to_sensor_dev_attr(da); int index = attr->index; ... } ```

ومع ذلك، يمكن أن يحتوي `data->group.attrs` على أنواع أخرى مثل `struct pmbus_samples_reg` أو `struct pmbus_sensor`، والتي تضم فقط بنية أساسية من نوع `struct device_attribute`.

إذا كان `da` عبارة عن `struct pmbus_samples_reg`، فإن `dev_attr` هي العضو الأخير. يبدو أن تحويلها إلى `struct sensor_device_attribute` وقراءة حقل `index` يؤدي إلى الوصول إلى ما بعد نهاية الذاكرة المخصصة (allocation)، مما قد يحفز قراءة خارج حدود السلاش (slab-out-of-bounds read).

بالإضافة إلى ذلك، إذا كان `da` عبارة عن `struct pmbus_sensor`، فإن التحويل يسبب تداخل حقل `index` مع حقول `page` و `phase` و `reg`. هل يمكن أن ينتج عن هذا قناع عشوائي (garbage mask) على الأنظمة ذات ترتيب البايتات الصغير (little-endian)، يتطابق بشكل زائف مع الـ reg المستهدف، والصفحة، والعلمين أثناء التنبيه؟

تم إصلاح المشكلة باستخدام `struct sensor_device_attr` في كل من `struct pmbus_sensor` و `struct pmbus_label`. نظرًا لأن هذه السمات لا تحفز إشعاراً على الإطلاق، تم تعيين قيمة `attr->index` إلى `-1` لها. يتم استخدام هذه القيمة للتمييز بينها وبين السمات المنطقية (boolean attributes) التي *يمكن* أن تحفز إشعاراً وتستخدم حقل `index` لتشفير قيم القناع والصفحة والسجل.

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

مسؤول

Linux

حجز

15/08/2026

إفشاء

22/08/2026

الاعتدال

تمت الموافقة

إدخال

VDB-394498

EPSS

0.00000

KEV

لا

النشاطات

منخفض

المصادر

Do you need the next level of professionalism?

Upgrade your account now!