
تحليل تقني لـ CVE-2026-72018، وهو كتابة خارج الحدود في نواة Linux في DIBS/ISM loopback، يغطي السبب الجذري والإصدارات المتأثرة والكشف والتخفيف.
Linux Kernel • DIBS Loopback • كتابة خارج الحدود
بحث أمني وتحليل تقني لـ CVE-2026-72018.
01 — نظرة عامةCVE-2026-72018 هي ثغرة كتابة خارج الحدود في نواة Linux تؤثر على وظيفة DIBS/ISM loopback.
ترتبط الثغرة بطريقة معالجة البيانات المنقولة إلى DMB (Data Memory Buffer) مسجَّل.
لا يتحقق التنفيذ المتأثر بشكل كافٍ من العلاقة بين الإزاحة (offset) المقدَّمة، وحجم النقل، وحدود DMB الفعلية قبل تنفيذ عملية الذاكرة.
| الخاصية | القيمة |
|---|---|
| CVE | CVE-2026-72018 |
| CWE | CWE-787 — كتابة خارج الحدود |
| CVSS v3.1 | 7.8 — مرتفع |
| ناقل الهجوم | محلي |
| الصلاحيات المطلوبة | منخفضة |
| تفاعل المستخدم | لا يوجد |
| السرية | مرتفعة |
| السلامة | مرتفعة |
| التوافر | مرتفع |
| المكوّن | Linux Kernel |
| المجال | DIBS / ISM Loopback |
02 — ملخص تقنييتضمن مسار الكود المتأثر:
drivers/dibs/dibs_loopback.c
و:
move_data()
function.
من الناحية المفاهيمية، يمكن تمثيل العملية الإشكالية على النحو التالي:
memcpy(destination + offset, source, size);
الحد الأمني الذي يجب الحفاظ عليه هو:
offset + size <= DMB_length
إذا لم يتم فرض هذه العلاقة بشكل صحيح، فقد تمتد عملية الذاكرة الناتجة إلى ما بعد منطقة DMB الصالحة.
DMB
┌──────────────────────────────────────┐
│ │
│ Valid Memory Region │
│ │
│ ┌────────────────────────────┐ │
│ │ offset + size │ │
│ └────────────────────────────┘ │
│ │
└──────────────────────────────────────┘
│
▼
Boundary Check
│
┌─────────┴─────────┐
│ │
VALID INVALID
│ │
▼ ▼
memcpy() Out-of-Bounds Write
03 — السبب الجذريالمشكلة الأساسية هي عدم كفاية التحقق من الحدود قبل نسخ البيانات إلى DMB الوجهة.
يجب أن يضمن التنفيذ الآمن أن:
offset <= dmb_length
و:
size <= dmb_length - offset
قبل تنفيذ النسخ.
استخدام الطرح في الفحص الثاني يتجنب أيضًا مقارنة من نمط تجاوز الأعداد الصحيحة مثل:
offset + size <= dmb_length
عند التعامل مع قيم أعداد صحيحة يتحكم بها المهاجم.
if (offset > dmb_length)
return -EINVAL;
if (size > dmb_length - offset)
return -EINVAL;
فقط بعد هذه الفحوصات يجب أن تستمر عملية الذاكرة.
04 — التأثير الأمنيقد تؤدي الكتابة خارج الحدود في مساحة النواة إلى:
User-controlled input
│
▼
Insufficient bounds validation
│
▼
Out-of-bounds memory write
│
├──► Kernel memory corruption
│
├──► Kernel crash / DoS
│
└──► Potential privilege escalation
تعتمد قابلية الاستغلال الفعلية والتأثير على إعدادات النواة، وتخطيط الذاكرة، ومسارات الكود التي يمكن الوصول إليها، والتخفيفات، وإعدادات النظام.
مهم: يصف CVSS الخطورة المحتملة للثغرة؛ وهو لا يُثبت بحد ذاته وجود استغلال فعّال لتصعيد الصلاحيات أو تنفيذ الكود.
05 — الكود المتأثرdrivers/
└── dibs/
└── dibs_loopback.c
الدالة ذات الصلة:
move_data()
تتضمن الثغرة التفاعل بين:
DIBS
│
└── ISM Loopback
│
└── DMB
│
└── Memory Transfer
06 — الإصدارات المتأثرةتحقق دائمًا من الحالة مقابل توزيعة النواة التي تختبرها لأن توزيعات Linux قد تُرجع إصلاحات أمنية (backport).
تشمل النطاقات المتأثرة المُبلَّغ عنها:
6.10.x
6.13.x – 6.18.39
6.19.x – 7.1.4
تشمل الإصدارات المُصلَّحة المُبلَّغ عنها:
6.12.97
6.18.40
7.1.5
قد تحتوي فروع التطوير على الإصلاح عند نقاط مراجعة مختلفة.
uname -r
معلومات إضافية:
uname -a
للحصول على معلومات الحزم الخاصة بالتوزيعة:
cat /etc/os-release
07 — التحقق المخبريهذا المستودع مخصص للبحث الأمني المصرَّح به والاختبار الدفاعي.
سير العمل الموصى به:
# Identify the running kernel
uname -r
# Identify distribution
cat /etc/os-release
# Inspect kernel configuration
zgrep -i "DIBS\|ISM" /proc/config.gz 2>/dev/null
# Check loaded modules
lsmod | grep -Ei "dibs|ism"
# Inspect kernel messages
dmesg | grep -Ei "dibs|ism|smc"
لتحليل الكود المصدري:
grep -R "move_data" drivers/dibs/ 2>/dev/null
تعتمد الأوامر المتاحة بالضبط على مصدر النواة وإعدادات التوزيعة.
08 — منهجية البحثسير عمل تحليلي مفيد هو:
┌──────────────────┐
│ Identify Kernel │
└────────┬─────────┘
│
▼
┌──────────────────┐
│ Locate Component │
└────────┬─────────┘
│
▼
┌──────────────────┐
│ Review Data Flow │
└────────┬─────────┘
│
▼
┌──────────────────┐
│ Find Boundary │
│ Validation │
└────────┬─────────┘
│
▼
┌──────────────────┐
│ Compare Patched │
│ / Vulnerable │
│ Implementations │
└────────┬─────────┘
│
▼
┌──────────────────┐
│ Validate in an │
│ Isolated Lab │
└──────────────────┘
09 — التحليل الدفاعيعند التحقيق في نظام قد يكون متأثرًا:
uname -r
cat /etc/os-release
استخدم الاستشارة الأمنية المقدَّمة من توزيعة Linux الخاصة بك بدلاً من الاعتماد فقط على إصدار النواة من المنبع.
ثبّت التحديث الأمني الذي توفره التوزيعة.
تستمر النواة قيد التشغيل في استخدام صورة النواة المحمَّلة حاليًا حتى إعادة التشغيل.
10 — أفكار الكشفيمكن لفرق الأمن مراقبة سلوك النواة غير المعتاد المرتبط بالنظام الفرعي المتأثر.
تشمل المؤشرات المحتملة:
• Unexpected kernel crashes
• Kernel Oops / BUG reports
• Memory corruption warnings
• Abnormal SMC-D / ISM activity
• Unexpected local processes interacting with the subsystem
• Repeated failures around DIBS operations
مثال:
dmesg -T | grep -Ei \
"oops|bug|general protection|page fault|memory corruption|dibs|ism"
هذا ليس قاعدة كشف نهائية لـ CVE-2026-72018؛ إنه فقط نقطة انطلاق للتحقيق الدفاعي.
11 — التخفيفالتخفيف الأساسي هو تثبيت إصدار نواة يحتوي على الإصلاح الأمني المناسب.
العملية الموصى بها: