CVE-2025-71237 in Linux
الملخص
بحسب VulDB • 11/05/2026
في نواة لينكس، تم حل الثغرة التالية:
nilfs2: إصلاح تجاوز كتلة (block overflow) محتمل يسبب تعليق النظام
عندما يقوم مستخدم بتنفيذ أمر FITRIM، يمكن أن يحدث تجاوز إلى الأسفل (underflow) عند حساب nblocks إذا كانت end_block صغيرة جداً. وبما أن nblocks من نوع sector_t، وهو u64، فإن قيمة nblocks السالبة ستتحول إلى عدد صحيح موجب كبير جداً. وهذا يؤدي في النهاية إلى أن تأخذ دالة طبقة الكتل __blkdev_issue_discard() وقتاً طويلاً بشكل مفرط لمعالجة سلسلة bio، ويبقى قفل ns_segctor_sem محتجزاً لفترة طويلة. وهذا يمنع المهام الأخرى من الحصول على قفل ns_segctor_sem، مما يؤدي إلى التعليق المبلغ عنه بواسطة syzbot في [1].
إذا كانت كتلة النهاية صغيرة جداً، وعادةً إذا كانت أصغر من نطاق 4KiB، اعتماداً على استخدام القطعة 0، فقد يكون من الممكن محاولة طلب حذف (discard) يتجاوز حجم الجهاز مما يسبب التعليق.
الخروج بنجاح وتعيين حجم المحذوف (0 في هذه الحالة) إلى range->len.
على الرغم من أن قيمتي البداية والطول في نطاق إدخال المستخدم صغيرتان جداً، إلا أنه يتم اعتماد استراتيجية تحفظية هنا لتجاهلهما بأمان، وهو ما يعادل عملية لا تفعل شيئاً (no-op)؛ لن يتم تنفيذ أي تقليم ولن يتم طرح أي خطأ.
[1]
task:segctord state:D stack:28968 pid:6093 tgid:6093 ppid:2 task_flags:0x200040 flags:0x00080000 Call Trace: rwbase_write_lock+0x3dd/0x750 kernel/locking/rwbase_rt.c:272 nilfs_transaction_lock+0x253/0x4c0 fs/nilfs2/segment.c:357 nilfs_segctor_thread_construct fs/nilfs2/segment.c:2569 [inline]
nilfs_segctor_thread+0x6ec/0xe00 fs/nilfs2/segment.c:2684
[ryusuke: تم تصحيح جزء من رسالة الالتزام بشأن العواقب]
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.