كشفت تفاصيل الأسبوع الماضي عن ثغرة أمنية جديدة لم يتم معالجتها في نواة لينكس، تُعرف باسم “Dirty Frag”، والتي تسمح بتصعيد الامتيازات المحلية.
تُعد هذه الثغرة، التي تم الإبلاغ عنها لمسؤولي نواة لينكس في 30 أبريل 2026، بمثابة امتداد لثغرات سابقة مثل “Copy Fail”، التي تعرضت للاستغلال النشط مؤخراً. تتيح “Dirty Frag” للمستخدمين غير المتميزين الحصول على صلاحيات الجذر (root) على معظم توزيعات لينكس.
ثغرة “Dirty Frag” في نواة لينكس
صرح باحث الأمن، هيون وو كيم، بأن “Dirty Frag” هي ثغرة تحقق صلاحيات الجذر عبر ربط ثغرتي xfrm-ESP Page-Cache Write و RxRPC Page-Cache Write.
وأوضح كيم أن هذه الثغرة تمثل امتدادًا لفئة الأخطاء التي تنتمي إليها “Dirty Pipe” و “Copy Fail”. كما تتميز بأنها خطأ منطقي حتمي لا يعتمد على نافذة زمنية، ولا يتطلب شروط سباق، ولا يسبب انهيار النواة عند فشل الاستغلال، مما يزيد من نسبة نجاحه.
تأثير الثغرة على التوزيعات
يمكن للاستغلال الناجح لهذه الثغرة أن يمنح مستخدمًا محليًا غير مصرح له وصولاً متزايدًا بصلاحيات الجذر على غالبية توزيعات لينكس. تشمل هذه التوزيعات، على سبيل المثال لا الحصر، Ubuntu 24.04.4، و RHEL 10.1، و openSUSE Tumbleweed، و CentOS Stream 10، و AlmaLinux 10، و Fedora 44.
وفقًا للباحث، فإن ثغرة xfrm-ESP Page-Cache Write تعود إلى تعديل في الكود المصدري تم في يناير 2017، بينما ظهرت ثغرة RxRPC Page-Cache Write في يونيو 2023. ومن المثير للاهتمام أن نفس التعديل الذي حدث في يناير 2017 كان السبب وراء ثغرة تجاوز سعة المخزن المؤقت (buffer overflow) أخرى أثرت على توزيعات لينكس مختلفة.
تُقدم ثغرة xfrm-ESP Page-Cache Write، المتجذرة في نظام IPSec الفرعي، للمهاجمين آلية تخزين بسيطة تشبه “Copy Fail”، وتقوم بالكتابة فوق جزء صغير في ذاكرة التخزين المؤقت للصفحات (page cache) الخاصة بالنواة.
ومع ذلك، يتطلب الاستغلال إنشاء مساحة أسماء (namespace) للمستخدم، وهو إجراء تفشل فيه بعض التوزيعات مثل Ubuntu بسبب AppArmor. في مثل هذه البيئات، لا يمكن تفعيل ثغرة xfrm-ESP Page-Cache Write.
في المقابل، لا تتطلب ثغرة RxRPC Page-Cache Write امتيازات لإنشاء مساحة أسماء، ولكن وحدة rxrpc.ko ليست مضمنة في معظم التوزيعات. على سبيل المثال، لا يتم شحن rxrpc.ko في البناء الافتراضي لـ RHEL 10.1. ومع ذلك، في Ubuntu، يتم تحميل وحدة rxrpc.ko افتراضيًا.
إن ربط هذين المتغيرين يسمح بتغطية نقاط الضعف. في بيئة مسموح فيها بإنشاء مساحات أسماء للمستخدم، يتم تشغيل استغلال ESP أولاً. وعلى العكس، في Ubuntu، حيث يتم حظر إنشاء مساحات أسماء المستخدم ولكن تم بناء rxrpc.ko، فإن استغلال RxRPC يعمل.
تفاصيل فنية وعواقب
أفادت CloudLinx في تنبيه خاص بها أن الثغرة تكمن في المسار السريع لـ MSG_SPLICE_PAGES في ESP-in-UDP، ويمكن الوصول إليها عبر واجهة XFRM user netlink.
تكمن المشكلة في مسارات فك التشفير المباشرة لـ esp4 و esp6 و rxrpc. عندما يشير مخزن المقبس (socket buffer) إلى أجزاء صفحة غير مملوكة بشكل حصري للنواة، يقوم مسار الاستقبال بفك التشفير مباشرة فوق هذه الصفحات مدعومة خارجيًا، مما يكشف أو يفسد النص الواضح الذي لا يزال لدى عملية غير مميزة مرجع إليه.
تزيد سرعة انتشار الثغرة مع إصدار كود إثبات المفهوم (PoC) الذي يمكن استغلاله للحصول على صلاحيات الجذر بأمر واحد. حتى يتم توفير التحديثات، يُنصح بحظر وحدات esp4 و esp6 و rxrpc حتى لا يمكن تحميلها.
تجدر الإشارة إلى أن “Dirty Frag”، على الرغم من تداخلها مع “Copy Fail”، يمكن استغلالها بغض النظر عما إذا كانت وحدة algif_aead لنواة لينكس مفعلة أم لا. وهذا يعني أنه حتى في الأنظمة التي تم فيها تطبيق التخفيف المعروف لـ “Copy Fail” (حظر algif_aead)، فإن لينكس لا يزال عرضة لـ “Dirty Frag”.

