Docker (داکر)، بیست و سوم جولای ۲۰۲۴ در خصوص یک آسیب پذیری بحرانی که بر نسخههای خاصی از Docker Engine تأثیر میگذارد، هشدار داد. این آسیب پذیری (CVE-2024-41110) میتواند به مهاجمان سایبری اجازه دهد تا پلاگینهای مجوزدهی (AuthZ) را تحت شرایط خاص دور بزنند.
مدل پیشفرض مجوزدهی Docker، “همه یا هیچکس” است. کاربرانی که به Docker Daemon (داکر دیمون) دسترسی دارند میتوانند هر دستوری از Docker را اجرا کنند. به منظور کنترل دسترسی بیشتر، میتوان از پلاگینهای مجوزدهی (AuthZ) استفاده کرد. این پلاگینها درخواستهای داکر را بر اساس “احراز هویت” و “ نوع و محتوای فرمان“، تایید یا رد میکنند.
بررسی آسیب پذیری CVE-2024-41110 در Docker Engine
این آسیب پذیری در ابتدا در Docker Engine نسخه ۱۸.۰۹.۱ که در ژانویه 2019 منتشر شد، کشف و برطرف گردید، اما به دلایلی، این پچ در نسخههای بعدی اعمال نشد و از این رو، این باگ مجددا ظاهر شد.
این آسیب پذیری بحرانی که اکنون با شناسه CVE-2024-41110 (امتیاز CVSS: 10.0) دنبال میشود، به هکر اجازه میدهد تا یک درخواست API ساخته شده ویژه با طول محتوای صفر (0) ارسال کند تا Docker Daemon را برای ارسال آن به پلاگین AuthZ فریب دهد.
درخواستهای API در سناریوهای متداول، شامل بدنهای (body) هستند که حاوی دادههای لازم برای درخواست میباشند و افزونه مجوزدهی، این بدنه را در خصوص کنترل دسترسی، بازرسی میکند.
هنگامی که Content-Length یا طول محتوا بر روی صفر تنظیم میشود، درخواست بدون بدنه به افزونه AuthZ ارسال میگردد، بنابراین افزونه نمیتواند اعتبارسنجی مناسبی را انجام دهد. این کار منجر به تأیید درخواستهای غیرمجاز، از جمله افزایش سطح دسترسی میشود.
چه کسانی تحت تاثیر آسیب پذیری CVE-2024-41110 در Docker Engine قرار دارند؟
CVE-2024-41110 بر نسخههای ۱۹.۰۳.۱۵، ۲۰.۱۰.۲۷، ۲۳.۰.۱۴، ۲۴.۰.۹، ۲۵.۰.۵، ۲۶.۰.۲، ۲۶.۰.۲، ۲۶.۱.۴، ۲۷.۰.۳ و ۲۷.۱.۰ تاثیر میگذارد و کاربرانی که از افزونههای مجوزدهی برای کنترل دسترسی استفاده میکنند، در معرض این آسیب پذیری قرار دارند.
چه کسانی تحت تاثیر آسیب پذیری CVE-2024-41110 در Docker Engine قرار نمیگیرند؟
کاربرانی که برای مجوزدهی به افزونهها متکی نیستند و از آنها استفاده نمیکنند، کاربران Mirantis Container Runtime و کاربران محصولات تجاری Docker فارغ از آنکه چه نسخهای را اجرا میکنند، تحت تأثیر CVE-2024-41110 قرار نمیگیرند.
آخرین نسخه Docker Desktop (دسکتاپ داکر) یعنی ۴.۳۲.۰، شامل یک Docker Engine آسیب پذیر است، اما تأثیر ابن آسیب پذیری در آنجا محدود میباشد چرا که بهرهبرداری از آن نیاز به دسترسی به Docker API دارد و هرگونه افزایش سطح دسترسی به VM محدود خواهد بود.
توصیههای امنیتی و به روزرسانی نسخه Docker Engine:
- نسخه اصلاح شده Docker Engine در قالب Docker Desktop نسخه ۴.۳۳.۰ به زودی مننتشر خواهد شد.
- چنانچه از نسخه آسیب پذیر Docker Desktop استفاده میکنید، پس از انتشار پچ، فورا به روزرسانی کنید.
- به کاربرانی که نمیتوانند به نسخه ایمن منتقل شوند، توصیه میگردد پلاگینهای AuthZ را غیرفعال کرده و دسترسی به Docker API را فقط به کاربران مورد اطمنیان محدود کنند.
- مشترکین Docker Business میتوانند از مدیریت تنظیمات برای اعمال تنظیمات ایمن استفاده کنند.
هنوز مشخص نیست که CVE-2024-41110 در این مدت ۵ سال توسط مهاجمان سایبری به منظور ایجاد دسترسی غیرمجاز به نمونههای Docker مورد سوء استفاده قرار گرفته است یا خیر؟ اما احتمال سوء استفاده از این آسیب پذیری کم است.