محققان شرکت Aqua Security توجهها را به احتمال حمله به کاربران این توزیع جلب کردهاند. Ubuntuبا بهرهگیری از پیادهسازی هندلر "command-not-found"، که هنگام تلاش برای اجرای برنامهای که در سیستم وجود ندارد، یک اعلان ارائه میدهد. مشکل این است که هنگام ارزیابی دستوراتی که در سیستم وجود ندارند، "command-not-found" نه تنها از بستههای مخازن استاندارد استفاده میکند، بلکه هنگام انتخاب یک توصیه، از بستههای snap از دایرکتوری snapcraft.io نیز استفاده میکند.
هنگام ایجاد یک توصیه بر اساس محتویات دایرکتوری snapcraft.io، کنترل کننده "command-not-found" وضعیت بسته را در نظر نمی گیرد و فقط بسته هایی را پوشش می دهد که توسط کاربران غیرقابل اعتماد به فهرست اضافه شده اند. بنابراین، مهاجم میتواند در snapcraft.io بستهای با محتوای مخرب پنهان و نامی که با بستههای DEB موجود، برنامههایی که در ابتدا در مخزن نبودهاند، یا برنامههای ساختگی که نامشان منعکس کننده اشتباهات تایپی و خطاهای کاربر در هنگام تایپ نامها باشد، همپوشانی دارد، قرار دهد. از خدمات عمومی محبوب
برای مثال، میتوانید بستههای «tracert» و «tcpdamp» را با این انتظار قرار دهید که کاربر هنگام تایپ نام ابزارهای «traceroute» و «tcpdump» اشتباه کند، و «command-not-found» توصیه میکند. نصب بسته های مخرب قرار داده شده توسط مهاجم از snapcraft.io. کاربر ممکن است متوجه شکار نشود و فکر کند که سیستم فقط بسته های اثبات شده را توصیه می کند. مهاجم همچنین میتواند بستهای را در snapcraft.io قرار دهد که نام آن با بستههای deb موجود همپوشانی داشته باشد، در این صورت «command-not-found» دو توصیه برای نصب deb و snap میدهد و کاربر میتواند snap را با در نظر گرفتن امنتر انتخاب کند. یا توسط نسخه جدیدتر وسوسه شده است.

برنامههای اسنپ که snapcraft.io اجازه بررسی خودکار را میدهد، فقط میتوانند در یک محیط ایزوله اجرا شوند (اسنپهای غیر ایزوله فقط پس از بررسی دستی منتشر میشوند). ممکن است برای یک مهاجم کافی باشد که در یک محیط ایزوله با دسترسی به شبکه اجرا کند، به عنوان مثال، برای استخراج ارز دیجیتال، انجام حملات DDoS یا ارسال هرزنامه.
مهاجم همچنین میتواند از تکنیکهای دور زدن جداسازی در بستههای مخرب استفاده کند، مانند بهرهبرداری از آسیبپذیریهای اصلاحنشده در هسته و مکانیسمهای جداسازی، استفاده از رابطهای snap برای دسترسی به منابع خارجی (برای ضبط صدا و ویدیوی مخفی)، یا گرفتن ورودی صفحهکلید هنگام استفاده از پروتکل X11. برای ایجاد کیلاگرهایی که در محیط سندباکس کار می کنند).
منبع: opennet.ru
