تحذر إيريكا وينديش من أن مساحات أسماء المستخدمين في لينكس قد لا تكون آمنة بما فيه الكفاية. إذا تمت إزالة قدرة SYS_CAP_ADMIN من مستخدم جذر حقيقي ولكن بعد ذلك يقوم بإنشاء مساحة اسم مستخدم، يتم استعادة القدرة للمستخدم الجذر المزيف. قبل إنشاء مساحة الاسم، سيتم رفض 'mount'، ولكن بعد الإنشاء، ستعمل استدعاءات نظام 'mount' مرة أخرى بطريقة محدودة. هذا مهم بما يكفي لدرجة أنه بالنظر إلى مستخدم جذر حقيقي ونواة تحتوي على مساحات أسماء مستخدمين، يمكن تقويض قدرات لينكس تمامًا.
تؤكد صفحة الدليل لـ user_namespaces أن العملية الفرعية التي تم إنشاؤها بواسطة clone(2) مع CLONE_NEWUSER تبدأ بمجموعة كاملة من القدرات في مساحة اسم المستخدم الجديدة. تسمح مساحات أسماء المستخدمين بتقاطعات "مثيرة للاهتمام" لنماذج الأمان، مما يمنح قدرات جذر كاملة لمساحة الاسم الجديدة. يمكن أن يسمح هذا لـ CLONE_NEWUSER باستخدام CAP_NET_ADMIN بشكل فعال عبر مساحات أسماء الشبكة الأخرى، خاصة إذا لم تكن الحاويات قيد الاستخدام. العمليات التي تحتوي على CAP_NET_ADMIN لها سطح هجوم كبير وقد أدت إلى العديد من ثغرات النواة، مما قد يسمح لمساحة اسم مستخدم غير مميزة باستهداف سطح هجوم كبير (نظام الشبكة الفرعي للنواة).
تظهر العروض التوضيحية أنه على مضيف يحتوي على مساحات أسماء مستخدمين مجمعة، يمكن للمستخدم إنشاء جسر باستخدام ioctl مع SIOCBRADDBR، على الرغم من فشل تعيين قدرات الملفات باستخدام cap_set_file. تقوم Ubuntu بتمكين CONFIG_USER_NS ولكنها تصححه بحيث يمكن تعطيل الاستخدام غير المميز باستخدام sysctl unprivileged_userns_clone. يكون تكوين النواة افتراضيًا على 'n' لمساحات أسماء المستخدمين، مع التوصية بـ MEMCG للحد من ذاكرة المستخدمين غير المميزين.
المصدر: Hacker News · لخّصه HeadlinesBriefing