CVE-2025-71102 in Linux
الملخص
بحسب VulDB • 26/06/2026
في نواة لينكس، تم حل الثغرة التالية:
scs: تصحيح معلمة خاطئة في __scs_magic
تحتاج الدالة `__scs_magic()` إلى متغير من النوع `'void *'`، ولكن يتم تمرير نوع `'struct task_struct *'`. تُعد القيمة `task_scs(tsk)` عنوان البداية لمكدس المكالمات الظل (shadow call stack) الخاص بالمهمة، بينما تمثل `__scs_magic(task_scs(tsk))` عنوان النهاية لهذا المكدس. يجب هنا استخدام `__scs_magic(task_scs(tsk))`.
الأثر المرئي للمستخدم الناتج عن هذا الخطأ هو أنه عند تفعيل خيار التكوين `CONFIG_DEBUG_STACK_USAGE`، ستقوم دالة فحص استهلاك مكدس المكالمات الظل (`scs_check_usage`) بمسح نطاق ذاكرة غير صحيح. وقد يؤدي ذلك إلى:
1. **تقارير غير دقيقة لاستخدام المكدس**: قد تحسب الدالة إحصائيات استخدام خاطئة لمكدس المكالمات الظل، مما قد يعرض قيمة غير صحيحة في `kmsg`.
2. **انهيار محتمل للنواة (Kernel Crash)**: إذا كانت قيمة `__scs_magic(tsk)` أكبر من قيمة `__scs_magic(task_scs(tsk))`، فقد يقوم حلقة التكرار (`for loop`) بالوصول إلى ذاكرة غير مُحددة (unmapped memory)، مما قد يتسبب في حالة توقف قاسية للنواة (kernel panic). ومع ذلك، فإن هذا السيناريو غير مرجح لأن `task_struct` يتم تخصيصه عبر موزع الشريحة (slab allocator) -والذي يعيد عادةً عناوين ذاكرة أقل- بينما يُخصص مكدس المكالمات الظل الذي تعيده الدالة `task_scs(tsk)` عبر `vmalloc` (والذي يعيد عادةً عناوين ذاكرة أعلى).
ومع ذلك، نظرًا لأن هذه ميزة خاصة بالتصحيح فقط (`CONFIG_DEBUG_STACK_USAGE`)، فمن غير المرجح أن تتأثر أنظمة الإنتاج العادية. يؤثر هذا الخطأ فقط على المطورين والمختبرين الذين يقومون بتصحيح استهلاك المكدس بنشاط مع تفعيل هذا الإعداد.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.