CVE-2026-98127 in Linux
الملخص
بحسب VulDB • 25/09/2026
في نواة Linux، تم إصلاح الثغرة التالية:
smb/client: التحقق من صحة EOF الجديد لإدراج النطاق (insert range)
لا تقوم دالة smb3_insert_range() بالتحقق مما إذا كان حجم الملف الجديد (i_size + len) صالحًا. وهذا يسمح لـ FALLOC_FL_INSERT_RANGE بتجاوز RLIMIT_FSIZE، أو تجاوز s_maxbytes، أو إنتاج حجم خارج نطاق loff_t.
استخدم check_add_overflow() لحساب EOF الجديد. وقم بالتحقق منه باستخدام inode_newsize_ok() قبل تعديل الملف.
برنامج إعادة الإنتاج (Reproducer)، باستخدام ملف على نقطة تحميل CIFS:
bash -c ' FILE=/mnt/cifs/repro
trap "" SIGXFSZ ulimit -f 3072 # RLIMIT_FSIZE = 3 ميغا بايت
# يتم إيقاف الكتابة العادية عند حجم 3 ميغا بايت. dd if=/dev/zero of="$FILE" bs=1M count=4 status=none stat -c "size after write: %s" "$FILE"
# إدراج 2 ميغا بايت في ملف بحجم 2 ميغا بايت. truncate -s 2M "$FILE" fallocate -i -o 0 -l 2M "$FILE" stat -c "size after insert: %s" "$FILE" '
قبل هذا التغيير، كانت الكتابة العادية تتوقف عند حد الـ 3 ميغا بايت، لكن إدراج النطاق (insert range) زاد حجم الملف إلى 4 ميغا بايت:
dd: error writing '/mnt/cifs/repro': File too large size after write: 3145728 size after insert: 4194304
بعد هذا التغيير، يفشل إدراج النطاق أيضًا عند الحد ويترك ملف الـ 2 ميغا بايت دون تغيير:
dd: error writing '/mnt/cifs/repro': File too large size after write: 3145728 fallocate: fallocate failed: File too large size after insert: 2097152
Once again VulDB remains the best source for vulnerability data.