سمحت ثغرة أمنية في Netfilter بتصعيد الامتيازات في النظام

حساسية

إذا تم استغلالها ، يمكن أن تسمح هذه العيوب للمهاجمين بالوصول غير المصرح به إلى المعلومات الحساسة أو التسبب بشكل عام في حدوث مشكلات

منذ بضعة أيامe أصدر خبرًا عن اكتشاف ثغرة أمنية في النظام الفرعي نيتفلتر (تستخدم لاعتراض حزم الشبكة ومعالجتها)، والثغرة الأمنية مفهرسة تحت CVE-2023-6817 تم تصنيفه تحت درجة خطورة عالية تبلغ 7.8، وهو يمثل تهديدًا يجب أخذه في الاعتبار، لأنه يسمح للمستخدم المحلي بتصعيد امتيازاته على النظام.

يعد Netfilter مكونًا حاسمًا يعمل كحارس بوابة، حيث يقوم بإدارة تدفق حزم البيانات في مكدس الشبكة وتسهيل العمليات المختلفة مثل تعديل العناوين وإسقاط الحزم وأنشطة التسجيل.

يذكر أن قد يؤدي الفشل إلى الاستخدام بعد حالة الإصدار، وهو سيناريو خطير يستمر فيه النظام في استخدام الذاكرة بعد تحريرها، مما يخلق حالة للمهاجمين لاستغلال الفشل ويمكن أن يؤدي أيضًا إلى تعطل التطبيق أو الكشف عن المعلومات أو بمعنى آخر تصعيد أكثر إثارة للقلق من الامتيازات المحلية.

عالي التأثر يظهر بدءًا من الإصدار 5.6 من Linux kernel (باستثناء Linux 5.10.204)، وكذلك في Linux 5.11 (باستثناء Linux 5.15.143)، وأيضًا في Linux 5.16 (باستثناء Linux 6.1.68)، وLinux 6.2 (باستثناء 6.6.7) وأيضًا RC1 و2 و3 و 4 من Linux 6.7 (على الرغم من أن الأخير قد تم إصداره بالفعل في نسخته المستقرة حيث تم حل الثغرة الأمنية منذ RC5).

أما بخصوص المشكلة فذكر ذلك أعلم أن ذلك يرجع إلى الوصول إلى الذاكرة بعد الاستخدام المجاني في وحدة nf_tables، والذي يتم توفيره بواسطة مرشح حزم nftables ويرجع ذلك إلى وجود خطأ في الدالة nft_pipapo_walk، بسبب عملية التكرار على العناصر بيبابو (سياسات حزم الكومة) لا يتحقق من نشاط العنصر قبل التشغيل عليه، لأو التي قد تسبب ثغرة أمنية بعد الاستخدام المجاني.

لا تتخطى وظيفة nft_rhash_walk() في الواجهات الخلفية للمجموعة الأخرى أيضًا العناصر غير النشطة أثناء مجموعة السير ونتيجة لذلك، يمكن استدعاء أمر NFT_MSG_DELSETELEM مرتين في معاملة لإزالة كل عنصر في تلك المجموعة مرتين، مما يؤدي إلى إصدار مزدوج 1

إذا كانت الواجهة الخلفية عبارة عن مصفوفة pipapo، فسيتم استدعاء nft_pipapo_walk(). لا تتحقق هذه الوظيفة من نشاط العنصر قبل العمل عليه، مثل الوظائف المشابهة في الواجهات الخلفية الأخرى، مثل nft_rhash_walk(). ولذلك، يمكن استدعاء الأمر NFT_MSG_DELSETELEM مرتين في معاملة لحذف كل عنصر في تلك المجموعة مرتين، مما يؤدي إلى إصدار مزدوج.

بالإضافة إلى ذلك، يُذكر أنه لكي تكون عملية استغلال الثغرات ناجحة، يتطلب الهجوم الوصول إلى nftables، والذي يمكن الحصول عليه من خلال الحصول على حقوق CAP_NET_ADMIN في أي مساحة اسم مستخدم أو مساحة اسم شبكة، والتي يمكن توفيرها، على سبيل المثال، في حاويات معزولة. لتوضيح الثغرة الأمنية، تم نشر نموذج أولي للاختبار.

أخيرًا ، يجب ذكر ذلك وقد تم تناول الحكم قبل وقت طويل من صدوره، إذ كما ذكرنا تم اقتراح إصلاح الثغرة الأمنية في الإصدار التجريبي من Linux kernel 6.7-rc5. وانتقلت إلى فروع Linux المستقرة الحالية 5.10.204 و5.15.143 و6.1.68 و6.6.7.

يُذكر أن الحل يتضمن تطبيق بعض التغييرات على وضع تشغيل وظيفة `nft_pipapo_walk`، لأنه لحل الخلل، يجب حذف العناصر غير النشطة أثناء المسارات المحددة. يمنع هذا الأسلوب بشكل فعال التعطيل المزدوج لعناصر PIPAPO (سياسات حزم الحزم)، وبالتالي التخلص من حالة الاستخدام بعد الإصدار.

أخيرًا وليس آخرًا، وكما نفعل دائمًا، نوصي جميع قرائنا الأعزاء بتنفيذ التصحيحات ذات الصلة، لأنه على الرغم من صعوبة استغلال الثغرة الأمنية عن بُعد، إلا أنه لا يضر أبدًا تنفيذ التصحيحات المقابلة.

إذا كنت مهتم بمعرفة المزيد عنها ، يمكنك التحقق من التفاصيل في الرابط التالي. أما بالنسبة لأولئك المهتمين بالقدرة على اختبار النموذج الأولي للاستغلال، فيمكنك الرجوع إلى الكود الخاص بذلك في الرابط التالي.


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.