باگ امنیتی Omarchy: هر پروسهای میتونست روت بشه
خلاصهٔ کاملتر
نویسنده این پست یه مشکل امنیتی رو تو پیکربندی پیشفرض Docker در توزیع Omarchy پیدا کرده، خصوصی گزارشش داده و حالا که وصله شده جزئیاتش رو منتشر کرده. حرف اصلیش برای کاربرها یه جملهست: به ۴.۰.۱ آپدیت کنید. ریشهٔ ماجرا هم سادهست: Omarchy کاربر پیشفرض رو عضو گروه لینوکسی docker میکرد تا بدون sudo کانتینر بالا بیاره، ولی روی Arch خود دیمن Docker با کاربر روت اجرا میشه و روی سوکت یونیکسیِ خودش گوش میده.
مستندات خود Docker صریح گفته عضویت تو این گروه یعنی دسترسی همسطح روت. مکانیزمش اینه: پروسهای که به اون سوکت دسترسی داره میتونه از دیمن روت بخواد یه کانتینر بسازه و هر بخشی از فایلسیستم میزبان رو داخلش mount کنه. بعد همون پروسهٔ کاربر عادی میتونه فایلهای محافظتشدهٔ سیستم مثل فایل هش رمزهای کاربرها رو بخونه یا کد دلخواه با دسترسی روت اجرا کنه، بدون هیچ رمز یا پرامپت مجوزی.
دامنهش کل سشن کاربره، چون گروههای اضافی لینوکس به پروسههای فرزند ارث میرسن. نویسنده میگه وقتی درخت پروسههای سشن کاربر رو نگاه کرده، گروه docker تقریباً روی همهٔ پروسههای عادی سشن بوده. یعنی مرورگر، ادیتور، اسکریپتهای npm، ابزارهای توسعه و ایجنتهای کدنویسی هوش مصنوعی؛ هر کدوم که کد ناامن اجرا کنه میتونه کل ماشین رو بگیره.
انتقاد اصلی نویسنده به خود تصمیمه، نه فقط به باگ: این تنظیم opt-out بوده نه opt-in، یعنی حتی کاربری که اصلاً سراغ Docker نمیرفت هم این ریسک رو داشت و چیزی هم بهش توضیح داده نشده بود. به گفتهٔ او مستندات هم گمراهکننده بود، چون نوشته بود Docker رو «نه به عنوان روت» اجرا میکنی و خواننده فکر میکرد حالت rootless فعاله، در حالی که نبود.
همهٔ نسخههای قبل از ۴.۰.۱ درگیرن؛ نویسنده روی آخرین ایزوی شاخهٔ ۳ یعنی ۳.۸.۴ هم تست کرده و مشکل بوده. این عضویت ۱ ژوئن ۲۰۲۵ اضافه شده و ۲۴ آگوست ۲۰۲۶ از پیکربندی پیشفرض حذف شده. نویسنده از سرعت پاسخ تیم تعریف کرده ولی گفته به روند تصمیمگیری امنیتی این توزیع اعتماد نداره، و به کسی که نمیخواد چنین دسترسیای بده Podman رو پیشنهاد میکنه که daemonless ـه و کانتینرها رو تو user namespace خود کاربر اجرا میکنه.
نکات کلیدی:
- نسخههای قبل از ۴.۰.۱ آسیبپذیرن؛ راهحل، آپدیت به ۴.۰.۱ه
- علت: عضویت کاربر پیشفرض تو گروه docker و دسترسی به سوکت یونیکسیِ دیمن Docker
- دیمن Docker روی Arch با کاربر روت اجرا میشه، پس این گروه عملاً دسترسی روت میده
- گروههای اضافی به پروسههای فرزند ارث میرسن، پس کل سشن دسکتاپ درگیر بوده
- ایزوی ۳.۸.۴ هم تست و آسیبپذیر بوده؛ حذف تنظیم تو کامیت ۲۴ آگوست ۲۰۲۶ انجام شده
- پیشنهاد نویسنده برای جایگزین: Podman که daemonless ـه و به دسترسی روت نیاز نداره




