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

الملخص

بحسب VulDB • 25/07/2026

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

pwrseq: core: إصلاح مشكلة use-after-free في دالة pwrseq_debugfs_seq_next()

تُعرّف الدالة `pwrseq_debugfs_seq_next()` المتغير `'next'` باستخدام `__free(put_device)`، مما يؤدي إلى استدعاء `put_device()` على المؤشر المُرجع عندما يخرج المتغير من نطاقه (scope). ينتج عن ذلك حدوث حالة use-after-free لأن إطار عمل seq_file يتلقى مؤشراً تم بالفعل خفض عدّ المراجع له.

إزالة `__free(putdevice)` ببساطة ستُصلح مشكلة الـ UAF، لكنها ستتسبب في تسرب المرجع الذي حصلت عليه دالة `bus_find_next_device()`، حيث أن الدالة `stop()` تستدعي فقط `up_read(&pwrseq_sem)` ولا تحرر مرجع الجهاز أبداً.

لإصلاح هذه المشكلة، يتم جعل عدّ المراجع متسقاً عبر جميع استدعاءات seq_file callbacks، بما يتطابق مع النمط القياسي المستخدم في PCI و SCSI:

- start(): استخدام `get_device()` بحيث تُرجع مؤشراً يحتوي على مرجع (referenced pointer). - next(): استدعاء صريح لـ `put_device(curr)` لإطلاق المرجع الخاص بالجهاز السابق (لا حاجة لفحص NULL - لأن إطار عمل seq_file يستدعي الدالة next() فقط عندما كان الإرجاع السابق غير فارغ/غير صفري non-NULL). - stop(): استخدام `put_device(data)` لإطلاق مرجع آخر جهاز تم تكريره، مع وجود حماية من النوع NULL حيث أنه قد يتم استدعاء الدالة stop() بقيمة NULL إذا كانت الدالة start() قد أرجعت NULL أو وصلت الدالة next() إلى نهاية التسلسل.

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

مسؤول

Linux

حجز

19/07/2026

إفشاء

24/07/2026

الاعتدال

تمت الموافقة

إدخال

VDB-382996

EPSS

0.00157

KEV

لا

النشاطات

منخفض جدًا

المصادر

Want to know what is going to be exploited?

We predict KEV entries!