تم تحديد الثغرات الأمنية القابلة للاستغلال في nf_tables وwatch_queue وIPsec في نواة Linux

تم تحديد العديد من نقاط الضعف الخطيرة في Linux kernel والتي تسمح للمستخدم المحلي بزيادة امتيازاته في النظام. تم إعداد نماذج أولية لبرامج استغلال الثغرات لجميع المشكلات قيد النظر.

  • تسمح الثغرة الأمنية (CVE-2022-0995) في النظام الفرعي لتتبع الأحداث watch_queue بكتابة البيانات إلى مخزن مؤقت خارج الحدود في ذاكرة kernel. يمكن تنفيذ الهجوم من قبل أي مستخدم لا يتمتع بأي امتيازات ويؤدي إلى تشغيل التعليمات البرمجية الخاصة به مع حقوق kernel. توجد الثغرة الأمنية في وظيفة watch_queue_set_size() وترتبط بمحاولة مسح كافة المؤشرات في القائمة، حتى لو لم يتم تخصيص ذاكرة لها. تحدث المشكلة عند بناء النواة باستخدام الخيار "CONFIG_WATCH_QUEUE=y" المستخدم في معظم توزيعات Linux.

    تمت معالجة الثغرة الأمنية في تغيير النواة الذي تمت إضافته في 11 مارس. يمكنك متابعة منشورات تحديثات الحزمة في التوزيعات على هذه الصفحات: Debian، SUSE، Ubuntu، RHEL، Fedora، Gentoo، Arch Linux. النموذج الأولي للاستغلال متاح للعامة بالفعل ويسمح لك بالوصول إلى الجذر عند التشغيل على Ubuntu 21.10 مع kernel 5.13.0-37.

    تم تحديد الثغرات الأمنية القابلة للاستغلال في nf_tables وwatch_queue وIPsec في نواة Linux

  • ثغرة أمنية (CVE-2022-27666) في وحدات kernel esp4 وesp6 مع تنفيذ تحويلات ESP (تغليف حمولة الأمان) لـ IPsec، المستخدمة عند استخدام IPv4 وIPv6. تسمح الثغرة الأمنية للمستخدم المحلي الذي يتمتع بامتيازات عادية بالكتابة فوق الكائنات الموجودة في ذاكرة kernel وتصعيد امتيازاته على النظام. سبب المشكلة هو عدم وجود تسوية بين حجم الذاكرة المخصصة والبيانات الفعلية المستلمة، نظرًا لأن الحد الأقصى لحجم الرسالة يمكن أن يتجاوز الحد الأقصى لحجم الذاكرة المخصصة لبنية skb_page_frag_refill.

    تم إصلاح الثغرة الأمنية في النواة في 7 مارس (تم إصلاحها في 5.17، 5.16.15، وما إلى ذلك). يمكنك متابعة منشورات تحديثات الحزمة في التوزيعات على هذه الصفحات: Debian، SUSE، Ubuntu، RHEL، Fedora، Gentoo، Arch Linux. تم بالفعل نشر نموذج أولي عملي للاستغلال، والذي يسمح للمستخدم العادي بالوصول إلى الجذر إلى Ubuntu Desktop 21.10 في التكوين الافتراضي، على GitHub. ويُزعم أنه مع بعض التغييرات الطفيفة، ستعمل هذه الثغرة أيضًا على Fedora وDebian. يُشار إلى أن الثغرة كانت معدة في الأصل لمسابقة pwn2own 2022، إلا أن مطوري النواة حددوا وصححوا الخلل المرتبط بها، لذا تقرر الكشف عن تفاصيل الثغرة.

  • ثغرتان أمنيتان (CVE-2022-1015، CVE-2022-1016) في النظام الفرعي netfilter في الوحدة النمطية nf_tables، والتي تضمن تشغيل مرشح حزم nftables. يسمح الإصدار الأول لمستخدم محلي لا يتمتع بالامتيازات بتحقيق كتابة خارج الحدود إلى مخزن مؤقت مخصص على المكدس. يحدث تجاوز السعة عند معالجة تعبيرات nftables التي تم تنسيقها بطريقة معينة وتتم معالجتها أثناء مرحلة التحقق من الفهارس المحددة بواسطة مستخدم لديه حق الوصول إلى قواعد nftables.

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

    يمكن استغلال المشكلة لتنفيذ تعليمات برمجية على مستوى kernel، لكن الهجوم الناجح يتطلب الوصول إلى nftables، والتي يمكن الحصول عليها في مساحة اسم شبكة منفصلة باستخدام حقوق CLONE_NEWUSER أو CLONE_NEWNET (على سبيل المثال، إذا كان بإمكانك تشغيل حاوية معزولة). ترتبط الثغرة أيضًا بشكل وثيق بالتحسينات التي يستخدمها المترجم، والتي، على سبيل المثال، يتم تمكينها عند الإنشاء في الوضع "CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y". من الممكن استغلال الثغرة الأمنية بدءًا من Linux kernel 5.12.

    سبب الثغرة الأمنية الثانية في netfilter هو الوصول إلى منطقة الذاكرة المحررة بالفعل (الاستخدام بعد الاستخدام) في معالج nft_do_chain ويمكن أن يؤدي إلى تسرب مناطق غير مهيأة من ذاكرة kernel، والتي يمكن قراءتها من خلال التلاعب باستخدام تعبيرات nftables واستخدامها، على سبيل المثال، لتحديد عناوين المؤشر أثناء عمليات استغلال نقاط الضعف الأخرى أثناء التطوير. من الممكن استغلال الثغرة الأمنية بدءًا من Linux kernel 5.13.

    تمت معالجة الثغرات الأمنية في تصحيحات kernel الحالية 5.17.1 و5.16.18 و5.15.32 و5.10.109 و5.4.188 و4.19.237 و4.14.274 و4.9.309. يمكنك متابعة منشورات تحديثات الحزمة في التوزيعات على هذه الصفحات: Debian، SUSE، Ubuntu، RHEL، Fedora، Gentoo، Arch Linux. أعلن الباحث الذي حدد المشاكل عن إعداد ثغرات عمل لكلا الثغرات الأمنية، والتي من المقرر نشرها في غضون أيام قليلة، بعد إصدار التوزيعات لتحديثات حزم النواة.

المصدر: opennet.ru

إضافة تعليق