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

الملخص

بحسب VulDB • 15/08/2026

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

btrfs: تخطي محاسبة الاحتياطي العالمي للكتل في عمليات التثبيت الخاصة بالاسترداد (rescue mounts)

[الخلل]
إجراء عملية تثبيت باستخدام الخيار rescue=ibadroots بعد إتلاف شجرة مجموعة الكتل للجذر الرئيسي يؤدي إلى حدوث خطأ إلغاء مرجع المؤشر الفارغ (NULL pointer dereference):

BUG: kernel NULL pointer dereference, address: 0000000000000100 RIP: 0010:btrfs_update_global_block_rsv+0x9d/0x1c0 [btrfs]
Call Trace: fill_dummy_bgs+0xd4/0x120 [btrfs]
open_ctree+0xc6e/0x1ca0 [btrfs]
btrfs_get_tree+0x50d/0xa40 [btrfs]

يحدث نفس الانهيار مع جذر شريط RAID (raid stripe tree) تالف، وذلك عبر الدالة btrfs_read_block_groups() بدلاً من fill_dummy_bgs().

[السبب]
عند استخدام الخيار rescue=ibadroots، تسمح الدالة btrfs_read_roots() باستمرار عملية التثبيت عندما لا يمكن قراءة أي من الجذرين الرئيسيين (root)، مما يترك مؤشر الجذر المقابل فارغاً (NULL) بينما تظل بتة ميزة القرص الثابت الخاصة به مضبوطة.

ثم تقوم الدالة btrfs_update_global_block_rsv() بإلغاء مرجع للجذر المفقود استناداً إلى بتة الميزة وحدها.

[الحل]
عمليات التثبيت للاسترداد تكون للقراءة فقط بالكامل ولا يمكنها بدء المعاملات (transactions)، وبالتالي لا يتم استهلاك الاحتياطي العالمي. تحت شرط btrfs_is_full_ro()، يُحدد الاحتياطي بأنه مكتمل ويتم العودة قبل إجراء المحاسبة.

وبما أننا بحاجة إلى التحقق مما إذا كان نظام الملفات مثبتاً للقراءة فقط بشكل كامل، فقد تم تصدير الدالة fs_is_full_ro() باسم btrfs_is_full_ro() ونقلها إلى الملف fs.h.

[ دمج عملية تصدير الدالة fs_is_full_ro() في هذا التعديل ]

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

مسؤول

Linux

حجز

15/08/2026

إفشاء

15/08/2026

الاعتدال

تمت الموافقة

إدخال

VDB-390882

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you want to use VulDB in your project?

Use the official API to access entries easily!