كود استغلال GhostLock يُنشر علنًا لثغرة جذرية في لينكس ظلت كامنة لمدة 15 عامًا

نشر باحثون من شركة Nebula Security وصفًا تقنيًا كاملًا وكود استغلال عملي لثغرة GhostLock (CVE-2026-43499)، وهي ثغرة من نوع use-after-free في نواة لينكس كانت موجودة في كل التوزيعات الرئيسية منذ عام 2011. يحقق الاستغلال تصعيدًا للامتيازات إلى الجذر (root) بمعدل استقرار 97%، ويمكن استخدامه أيضًا للهروب من الحاويات، مما يجعله واحدًا من أكثر أدوات استغلال تصعيد الامتيازات المحلية موثوقية في الذاكرة الحديثة.
ثغرة دامت 15 عامًا في كود تأمين النواة
تقع GhostLock في الملف kernel/locking/rtmutex.c، تحديدًا في الدالة remove_waiter() التي تتعامل مع وراثة الأولوية (priority inheritance) في المزامنة الفورية (rtmutex). أُدخل الخلل في نواة لينكس الإصدار 2.6.39 في commit يعود لعام 2011، وظل بدون تصحيح لنحو 15 عامًا حتى أبريل 2026.
ينبع الخلل من معالجة خاطئة لمؤشرات المهام (task pointers) أثناء عمليات futex الخاصة بوراثة الأولوية (PI). عندما تُزال خيط (thread) من قائمة الانتظار، تقوم الدالة بمسح الحقل pi_blocked_on الخاص بالمهمة المستدعية بدلًا من المهمة الصحيحة التي تُزال. يمكن لمهاجم غير مميز (unprivileged) تفعيل هذا الشرط باستخدام استدعاءات نظام الخيوط (threading system calls) فقط، والحصول على مؤشر نواة معلق (dangling kernel pointer) إلى ذاكرة المكدس (stack memory).
من هناك، تسمح سلسلة الهجوم بكتابة مؤشر إلى أي عنوان نواة تقريبًا واختطاف جدول دالة (function table) للحصول على سيطرة كاملة على تدفق التنفيذ، مما يؤدي في النهاية إلى الحصول على قشرة جذرية (root shell). يتطلب الاستغلال تفعيل CONFIG_FUTEX_PI – وهو الإعداد الافتراضي في جميع توزيعات لينكس تقريبًا.
جائزة قدرها 92,337 دولارًا في مسابقة kernelCTF من Google
عرضت Nebula Security لأول مرة GhostLock من خلال مسابقة kernelCTF من Google، حيث حصلت على مكافأة قدرها 92,337 دولارًا مقابل أداة الاستغلال العاملة. نشر الفريق الجزء الثاني من التقرير (Part 2 writeup) في 7 يوليو، ويقدم خريطة طريق كاملة للاستغلال تتضمن تقنيات تخطيط الكومة (heap-layout) المستخدمة لتحقيق معدل النجاح 97% عبر إصدارات النواة من 2.6.39 حتى 7.1-rc1.
كما أبلغت Nebula Security لأول مرة، فإن النطاق المعرض للثغرة يشمل الغالبية العظمى من النوى التي شحنتها التوزيعات الرئيسية على مدى السنوات الخمس عشرة الماضية. أي نظام يعمل بنواة من ذلك النطاق ولم يتم تطبيق مجموعة التصحيحات الصادرة في أبريل 2026 لا يزال قابلًا للاستغلال من قبل مستخدم محلي.
التصحيح متاح – لكن العديد من الأنظمة لا تزال غير محمية
أصدر مسؤولو نواة لينكس التصحيح في أبريل 2026 عبر commits في الشجرة المستقرة (stable tree)، وأدرجت التوزيعات الرئيسية التصحيح في آخر تحديثات نواة LTS الخاصة بها. ومع ذلك، ومع توفر كود الاستغلال للعموم الآن، فإن أي نظام لينكس غير مصحح حيث يمكن لمستخدم غير موثوق تسجيل الدخول محليًا يكون في خطر جسيم.
تستحق بيئات الحاويات اهتمامًا خاصًا: فاختراق الحاوية عبر GhostLock يمنح المهاجم صلاحيات الجذر على المضيف الأساسي، متجاوزًا جميع عوازل الحاوية. يجب على مزودي الخدمات السحابية الذين يديرون بيئات متعددة المستأجرين على نوى غير مصححة التعامل مع هذا الأمر كقضية ذات أولوية قصوى (P0).
ما يجب فعله الآن
يجب على مدراء الأنظمة التحقق فورًا من إصدار نواتهم وتحديثها إلى أحدث إصدار LTS لتوزيعتهم إذا لم يكونوا قد فعلوا ذلك بعد. التصحيح موجود في الشجرة المستقرة للنواة وتم ترحيله إلى كافة فروع LTS المدعومة. أصدرت كل من توزيعات Ubuntu وDebian وFedora وRed Hat Enterprise Linux وAlpine حزمًا محدثة.
تشغيل الأمر uname -r ومقارنة الناتج مع إصدار النواة المصحح لتوزيعتك هو أسرع طريقة للتحقق من التعرض. حتى اكتمال التصحيح، يُنصح بتقييد وصول المستخدمين المحليين وتدقيق سجلات التدقيق (audit logs) بحثًا عن محاولات تصعيد امتيازات غير طبيعية.
Originally reported by Nebula Security. Read the original article for additional details.
View original source