إذا تم استغلالها ، يمكن أن تسمح هذه العيوب للمهاجمين بالوصول غير المصرح به إلى المعلومات الحساسة أو التسبب بشكل عام في حدوث مشكلات
قبل أيام قليلة نشر الخبر ذلك تم اكتشاف خطأ في معالجة توسيع المكدس في النواة من Linux 6.1 إلى الإصدار 6.4 المعروف أيضًا باسم "Stack Rot".
يذكر أن ترجمة VMA (منطقة الذاكرة الظاهرية) من بنية البيانات "شجرة حمراء-سوداء" إلى "شجرة القيقب" في Linux 6.1 kernel تسبب في ظهور ثغرة أمنية (CVE-2023-3269) الذي يسمح للمستخدم غير المتميز بتنفيذ التعليمات البرمجية الخاصة به باستخدام حقوق kernel.
نظرًا لأن StackRot عبارة عن ثغرة أمنية في Linux kernel موجودة في إدارة الذاكرة لـ النظام الفرعي ، يؤثر على جميع تكوينات kernel تقريبًا ويتطلب حدًا أدنى من القدرة على الزناد. ومع ذلك ، تجدر الإشارة إلى أنه تم تحرير عقد القيقب باستخدام عمليات الاسترجاعات RCU ، مما يؤدي إلى تأخير إلغاء تخصيص الذاكرة الحقيقية إلى ما بعد pفترة سماح الهيئة الملكية لمحافظة العلا. وبالتالي ، يتم النظر في استغلال هذا الضعف التحدي.
حول Stack Rot
الضعف ، الاسم الرمزي StackRot ، كان موجودًا منذ ذلك الحين اطلاق ال .. انطلاق ال .. اقلاع ال kernel 6.1 والإصدارات الثابتة في التحديثات 6.4.1 و 6.3.11 و 6.1.37.
فيما يتعلق بالضعف ، ذكر ذلك هيكل شجرة القيقب هو نوع مختلف من شجرة ب الذي يدعم فهرسة النطاق وهو مصمم للاستفادة الفعالة من ذاكرة التخزين المؤقت من المعالجات الحديثة.
مقارنةً بالشجرة ذات اللون الأحمر والأسود ، يتيح لك استخدام شجرة القيقب تحقيق أداء أعلى. تعود الثغرة الأمنية إلى خطأ في معالج امتداد المكدس: في بنية شجرة القيقب المستخدمة لإدارة مناطق الذاكرة الظاهرية في النواة ، يمكن أن يحدث استبدال عقدة في الشجرة دون تعيين قفل للكتابة ، مما خلق ظروفًا للوصول إلى منطقة الذاكرة بعد تحريرها (استخدام بعد خالي).
في كل مرة يتم فيها استخدام استدعاء النظام "mmap ()" لتعيين تخصيص الذاكرة ، تنشئ النواة بنية تسمى `vm_area_struct` لتمثيل
منطقة الذاكرة الظاهرية المقابلة (VMA). هذا الهيكل يخزن مختلف
المعلومات بما في ذلك العلامات والممتلكات والتفاصيل الأخرى ذات الصلة المتعلقة بـ التعيين.
في وقت لاحق ، عندما يواجه kernel أخطاء في الصفحة أو مشاكل أخرى تتعلق بالذاكرة أو استدعاءات النظام ، فإنه يتطلب بحثًا سريعًا عن VMA استنادًا إلى العنوان فقط.
يذكر أنه في السابق ، تمت إدارة VMAs بواسطة شجرة حمراء سوداء. ومع ذلك، من الإصدار 6.1 من Linux kernel ، تم الترحيل إلى شجرة القيقب ، وهي هياكل بيانات B-tree آمنة من RCU محسّنة لتخزين النطاقات غير المتداخلة. ومع ذلك ، فإن طبيعتها المعقدة تضيف تعقيدًا إلى قاعدة التعليمات البرمجية وتقدم ثغرة StackRot.
تنشأ المشكلة عند الوصول إلى VMAs حيث يتم الاحتفاظ فقط بقفل قراءة MM
ولا يدخل القسم الحرج في RCU. وبالتالي ، من الناحية النظرية ، يمكن استدعاء رد الاتصال في أي وقت ، مما يؤدي إلى تحرير العقدة القديمة.
بالنسبة للجزء من استغلال Stack Rot ، يُذكر أن هذا الأمر كان معقدًا بسبب حقيقة أن العقد الموجودة في بنية «شجرة القيقب» يتم تحريرها بطريقة مؤجلة عن طريق مكالمات رد الاتصال مع RCU (قراءة نسخة) أقفال. - تحديث).
ومع ذلك، تمكن الباحثون من التغلب على الصعوبات وإعداد استغلال Stack Rot للعمل التي يخططون لنشرها في نهاية شهر يوليو لمنح المستخدمين الوقت لتحديث أنظمتهم. العملية ممكنة في جميع تكوينات kernel تقريبًا وتتطلب امتيازات أقل فقط.
ومن الجدير بالذكر أنه مثل كل الأخبار حول الثغرات ، فإن هذه تعمل بمثابة كشف "مبكر" عن الثغرة الأمنية ، في هذه الحالة من StackRot. على هذا النحو ، كل شيء يستغرق عملية وقبل الإعلان عنها ، تم بالفعل إرسال الإخطارات ذات الصلة حتى يمكن حل الثغرة الأمنية.
أخيرًا ، ذُكر أنه تم توفير جميع التفاصيل الأساسية للثغرة الأمنية ، وسيتم توفير رمز الاستغلال الكامل وتقرير كامل للجمهور في موعد أقصاه نهاية يوليو.
إذا كنت مهتم بمعرفة المزيد عنها، يمكنك التحقق من التفاصيل في الرابط التالي.