
هذا هو مستودع يواجه مشكلة تصعيد في نظام لينكس الخاص به وأخبار حول مشكلة "Dirty pipeline"
ماكس كيلرمان (Max Kellermann)، مطور في شركة CM4all (شركة استضافة ويب ألمانية)، اكتشفها في أوائل عام 2022 ولكن ليس من خلال البحث عن ثغرات. كان يُصحح أخطاء عندما علم أن العميل غير راضٍ عن أن سجلات الخادم كانت تتلف تلقائيًا. أمضى كيلرمان شهورًا في تتبعها. قاده عمله في النهاية إلى حالة داخل آلية معالجة الأنابيب (pipes) وذاكرة التخزين المؤقت للصفحات (page cache) في نواة لينكس. أدرك أن الخلل الذي وجده لتفسير تلف السجلات كان في الواقع شيئًا أكثر خطورة — ثغرة تصعيد صلاحيات كاملة (تصعيد الصلاحيات الكامل هو ثغرة أمنية حرجة تسمح لمهاجم ذي وصول منخفض — مثل مستخدم عادي، ضيف، أو تطبيق غير مميز — بالحصول على تحكم إداري أو على مستوى الجذر أو المشرف الأعلى على النظام. وهذا يعني أن المهاجم يتجاوز كل الحدود الأمنية المقصودة، مما يمنحه تحكمًا كاملًا لتعديل ملفات النظام، تثبيت البرامج، سرقة البيانات، أو حذف الملفات). أبلغ عنها بشكل مسؤول لفريق نواة لينكس ولينوس تورفالدز نفسه. تم تصحيحها في غضون أيام. المشكلة الحقيقية هي — عندما تنقل الدالة splice() البيانات إلى أنبوب (pipe)، فإنها تنسى مسح هذه العلامة على المخزن المؤقت الهدف. لذلك، الصفحة المنقولة بواسطة splice() (التي تشير مباشرة إلى ذاكرة التخزين المؤقت للقراءة فقط لملف) لا تزال تحتوي على CAN_MERGE مضبوطة. الآن إذا كتبت إلى ذلك الأنبوب، ترى النواة CAN_MERGE، وتفترض أن الصفحة قابلة للكتابة، وتدمج بياناتك مباشرة في ذاكرة التخزين المؤقت للصفحات — وهي محتوى الملف في الذاكرة — دون أي فحص للصلاحيات. النتيجة: يمكنك الكتابة فوق محتويات أي ملف يمكنك قراءته، بما في ذلك الملفات الثنائية SUID (معرف المستخدم المضبوط) مثل su، passwd، sudo. لماذا كانت الثغرة بهذه الأهمية؟ عدة أسباب: