آسیب‌پذیری Docker امکان دسترسی به فایل دلخواه را به میزبان می‌دهد

آسیب‌پذیری جدیدی که در Docker کشف شده است می‌تواند توسط یک مهاجم مخرب به‌منظور دست‌یابی به دسترسی دلخواه نوشتن یا خواندن فایل در میزبان با امتیاز روت مورد بهره‌برداری قرار گیرد. این آسیب‌پذیری که با شناسه‌ی CVE-2018-15664 ردیابی می‌شود، یک اشکال مربوط به زمان بررسی تا زمان استفاده (TOCTOU) است. چنین مسائلی زیرمجموعه‌ای از آسیب‌پذیری‌های race condition هستند که ناشی از یک عدم هماهنگی بین شرایط زمان بررسی یک منبع و شرایط زمان استفاده از آن توسط یک برنامه است.

چنین اشکال‌هایی به مهاجمان اجازه می‌دهند تا یک منبع را در این وقفه تغییر دهند تا داده‌ها را بخوانند یا تغییر دهند، امتیاز را افزایش دهند یا موجب تغییر رفتار برنامه شوند. مهندس نرم‌افزار ارشد Suse Linux، Aleksa Sarai تشریح کرد که این آسیب‌پذیری همه‌ی نسخه‌های Docker را تحت تأثیر قرار می‌دهد و در تابع FollowSymlinkInScope وجود دارد که وسیله‌ای برای تعیین مسیرهای امن است. درصورتی‌که یک مهاجم بتواند یک مؤلفه‌ی symlink را به مسیر موجود در این وقفه اضافه کند، مؤلفه‌ی مسیر symlink می‌تواند فرآیند تعیین مسیر در میزبان به عنوان روت را خاتمه دهد.

در docker cp هنگام ایجاد آرشیوی که به کلاینت منتقل می‌شود، مسیر باز است و این آسیب‌پذیری می‌تواند دسترسی نوشتن و خواندن را برای هر مسیری در میزبان ارائه دهد. به‌گفته‌ی Sarai، هیچ محافظت معناداری در برابر این نوع حملات وجود ندارد. این مسأله می‌تواند سیستم فایل میزبان را تحت تأثیر قرار دهد، مگر این‌که Docker از طریق AppArmor محدود شده باشد. Sarai دو اسکریپت برای این مسأله ارائه داده است که هر دوی آن‌ها شامل یک ایمیج Docker‌ است. یکی از اسکریپت‌ها به نام run_read.sh شانس کمتر از ۱ درصد برای رسیدن به race condition دارد، درحالی‌که اسکریپت دیگر به نام run_write.sh می‌تواند سیستم فایل میزبان را در چند تکرار بازنویسی کند. این اسکریپت‌ها مجوزهای sudo را درخواست می‌کنند، اما این مجوز فقط برای ایجاد یک فایل flag است. برای این آسیب پذیری یک وصله ارائه شده است، اما ممکن است رفع آن برای کاربران کمی طول بکشد.

منبع

Related posts

Leave a Comment

هشت + 5 =