ICP·Devآی‌سی‌پی‌·دِو
بازگشت به مقالات
راست۴ تیر ۱۴۰۵3 دقیقه مطالعه

سندباکس کردن کش‌ها: درون نبرد کارگو علیه آسیب‌پذیری‌های رجیستری

تیم پاسخگویی امنیتی راست به‌تازگی دو آسیب‌پذیری به شناسه‌های CVE-2026-5222 و CVE-2026-5223 را فاش کرده است که کش ساخت کارگو و جداسازی اعتبارنامه‌های رجیستری را هدف قرار می‌دهند. این اکسپلویت‌ها که در نسخه ۱.۹۶.۰ راست برطرف شده‌اند، نشان می‌دهند که چگونه تهدیدات پیچیده زنجیره تأمین امروزی می‌توانند رجیستری‌های خصوصی و ایستگاه‌های کاری توسعه‌دهندگان را هدف قرار دهند.

نکات کلیدی

  • تیم پاسخگویی امنیتی راست به‌تازگی دو آسیب‌پذیری به شناسه‌های CVE-2026-5222 و CVE-2026-5223 را فاش کرده است که کش ساخت کارگو و جداسازی اعتبارنامه‌های رجیستری را هدف قرار می‌دهند
  • این اکسپلویت‌ها که در نسخه ۱.۹۶.۰ راست برطرف شده‌اند، نشان می‌دهند که چگونه تهدیدات پیچیده زنجیره تأمین امروزی می‌توانند رجیستری‌های خصوصی و ایستگاه‌های کاری توسعه‌دهندگان را هدف قرار دهند
اشتراک‌گذاری
سندباکس کردن کش‌ها: درون نبرد کارگو علیه آسیب‌پذیری‌های رجیستری

سندباکس کردن کش‌ها: درون نبرد کارگو علیه آسیب‌پذیری‌های رجیستری

زنجیره تأمین نرم‌افزار به یکی از میدان‌های جنگ اصلی در حوزه امنیت سایبری تبدیل شده است. در حالی که کامپایلر راست برای جلوگیری از آسیب‌پذیری‌های حافظه مشهور است، ابزارهای پیرامون این زبان — به‌ویژه کارگو — نیز باید به عنوان یک دژ تسخیرناپذیر عمل کنند. به‌تازگی، تیم پاسخگویی امنیتی راست دو توصیه‌نامه امنیتی به شناسه‌های CVE-2026-5222 و CVE-2026-5223 را منتشر کرده است که آسیب‌پذیری‌هایی را در ساختار کش محلی کارگو و مکانیسم‌های نرمال‌سازی URL فاش ساختند. هر دو مورد با انتشار نسخه ۱.۹۶.۰ راست به سرعت برطرف شدند.

CVE-2026-5223: منفجر کردن کش محلی با سیم‌لینک‌ها

مشکل جدی‌تر، یعنی آسیب‌پذیری CVE-2026-5223 (با شدت متوسط)، فرآیند استخراج کش محلی کارگو را هدف قرار داده بود. هنگامی که کارگو یک کریت (crate) را دریافت می‌کند، فایل فشرده (tarball) آن را در یک دایرکتوری کش محلی در داخل مسیر ~/.cargo استخراج می‌نماید. کارگو برای جلوگیری از نوشتن فایل‌ها در خارج از پوشه کش مشخص‌شده توسط کریت‌های مخرب، از محافظت‌های مربوط به پیمایش دایرکتوری (directory-traversal) استفاده می‌کند.

با این حال، پژوهشگری به نام کریستوس پاپاکنستانتینو (Christos Papakonstantinou) یک میان‌بر هوشمندانه را کشف کرد: استفاده از لینک‌های نمادین (symlinks). یک مهاجم با ساخت یک فایل tarball مخرب که حاوی سیم‌لینک‌هایی در موقعیت‌های استراتژیک بود، می‌توانست کارگو را مجبور کند تا مسیرهای خارج از کش کریت را تحلیل و بازخوانی کند و به این ترتیب یک مرحله در سلسله‌مراتب دایرکتوری به بالا فرار کند. این موضوع به یک بسته مخرب اجازه می‌داد تا کد منبع کش‌شده‌ی سایر کریت‌های متعلق به همان رجیستری شخص ثالث را بازنویسی کند.

یک نمودار جریان فنی دقیق که پیمایش دایرکتوری را نشان می‌دهد

نکته مهم این است که کاربران crates.io تحت تأثیر قرار نگرفته‌اند، چرا که رجیستری عمومی و رسمی در هنگام آپلود، استفاده از سیم‌لینک‌ها را به طور سخت‌گیرانه‌ای ممنوع کرده است. این خطر به طور کامل متوجه رجیستری‌های خصوصی، سرورهای آینه (mirror) و فیدهای بسته سازمانی است.

CVE-2026-5222: نرمال‌سازی URL و نشت توکن

آسیب‌پذیری دوم، یعنی CVE-2026-5222 (با شدت کم)، نشان‌دهنده یک باگ ظریف در نرمال‌سازی قدیمی URL است.

کارگو به طور سنتی برای جلوگیری از دانلودهای تکراری، با حذف پسوند .git اقدام به نرمال‌سازی URLهای رجیستری می‌کرد. با این حال، این منطق نرمال‌سازی به طور تصادفی بر روی رجیستری‌های مدرن با شاخص پراکنده (sparse index) نیز اعمال شد. برخلاف گیت (Git)، سرورهای استاندارد HTTPS با آدرس‌های دارای پسوند .git و بدون آن به عنوان نقاط پایانی کاملاً مجزا رفتار می‌کنند.

اگر یک مهاجم و یک قربانی هر دو از دامنه‌ای استفاده کنند که میزبان چندین رجیستری پراکنده است (به عنوان مثال company.com/index و company.com/index.git)، مهاجم می‌تواند کریبی را آپلود کند که به کریتی در نسخه دارای پسوند .git وابسته است. هنگامی که کارگو وابستگی را برطرف می‌کرد، به اشتباه هر دو رجیستری را یکسان در نظر می‌گرفت که این امر باعث نشت توکن احراز هویت خصوصی کارگوی کاربر به رجیستری مهاجم می‌شد.

اقدامات کاهشی سریع در نسخه ۱.۹۶.۰ راست

نسخه ۱.۹۶.۰ راست به سرعت هر دو بردار حمله را مسدود می‌کند:

  • برای CVE-2026-5223: اکنون کارگو استخراج هرگونه سیم‌لینک در فایل‌های tarball کریت را بدون توجه به منبع رجیستری کاملاً رد می‌کند.
  • برای CVE-2026-5222: اکنون کارگو تنها پسوند .git را از آدرس‌هایی حذف می‌کند که به طور صریح از پروتکل Git استفاده می‌کنند.

برای تیم‌های سازمانی که از رجیستری‌های خصوصی استفاده می‌کنند، ارتقا به نسخه ۱.۹۶.۰ راست جهت تأمین امنیت پایپ‌لاین‌های ساخت محلی و جلوگیری از دستکاری زنجیره تأمین بسیار حیاتی است.

برچسب‌ها

#راست#کارگو#امنیت سایبری#امنیت زنجیره تامین#رجیستری‌های کارگو

منابع و ارجاعات مستند

پیشنهاد مطالعه بعدی

خوشتان آمد؟ مقاله بعدی را بگیرید

در خبرنامه عضو شوید تا راهنمای بعدی در ایمیلتان باشد — بدون مزاحمت، لغو عضویت در هر زمان.