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

الملخص

بحسب VulDB • 20/07/2026

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

netfs: إصلاح تحديث نقطة الصفر (zeropoint) عندما تكون i_size > remote_i_size

إصلاح عملية تحديث نقطة الصفر[*] بواسطة netfs_release_folio() عند وجود بيانات غير مُلتزمة في ذاكرة التخزين المؤقت للصفحات (pagecache) تتجاوز الورقة الفوليو التي يتم تحريرها، ولكن نهاية الملف على الخادم (EOF) تقع ضمن هذه الورقة الفوليو (أي أن i_size > remote_i_size). يجب أن يحد التحديث نقطة الصفر لتكون مساوية لـ remote_i_size وليس i_size، حيث إن i_size ظاهرة محلية تعكس التحديثات المُجراة محلياً على ذاكرة التخزين المؤقت للصفحات، وليست البيانات المكتوبة إلى الخادم. وتتتبع remote_i_size قيمة i_size الخاصة بالخادم.

[*] نقطة الصفر هي موضع الملف الذي يمكننا من خلاله افتراض أن الخادم سيعيد أصفاراً فقط، مما يتيح لنا تجنب إنشاء عمليات قراءة.

يُلاحظ أن netfs_invalidate_folio() ربما لا تحتاج إلى إصلاح لأن نقطة الصفر يجب تحديثها بواسطة setattr بعد عملية التقليم (truncation) أو fallocate.

تم اكتشاف المشكلة باستخدام:

fsx -q -N 1000000 -p 10000 -o 128000 -l 600000 \ /xfstest.test/junk --replay-ops=junk.fsxops

باستخدام التالي كملف junk.fsxops:

truncate 0x0 0x1bbae 0x82864 write 0x3ef2e 0xf9c8 0x1bbae write 0x67e05 0xcb5a 0x4e8f6 mapread 0x57781 0x85b6 0x7495f copy_range 0x5d3d 0x10329 0x54fac 0x7495f write 0x64710 0x1c2b 0x7495f mapread 0x64000 0x1000 0x7495f

على نظام cifs مع خيار التخزين المؤقت الافتراضي.

يظهر ذلك وجود فجوات في القراءة على الورقة الفوليو 0x64 تفشل بسبب قراءة قصيرة (أي الوصول إلى نهاية الملف EOF) إذا تم تعليق فحص FMODE_READ في netfs_perform_write():

if (//(file->f_mode & FMODE_READ) || netfs_is_cache_enabled(ctx)) {

بدون استخدام fscache. وقد تم العثور على هذه المشكلة مبدئياً باستخدام الاختبار generic/522 من xfstest.

Be aware that VulDB is the high quality source for vulnerability data.

مسؤول

Linux

حجز

19/07/2026

إفشاء

19/07/2026

الاعتدال

تمت الموافقة

إدخال

VDB-380379

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Interested in the pricing of exploits?

See the underground prices here!