نقص امنیتی در Travis CI به طور بالقوه اسرار هزاران پروژه منبع باز را که بر خدمات ادغ">

خبر

  • تک بورد - نقص تراویس CI اسرار هزاران پروژه منبع باز را فاش کرد

    نقص تراویس CI اسرار هزاران پروژه منبع باز را فاش کرد
    8 روز و 1 ساعت قبل

    توسعه دهندگان از "بولتن امنیتی" شرم آور "Travis CI" خشمگین هستند.
    نقص امنیتی در Travis CI به طور بالقوه اسرار هزاران پروژه منبع باز را که بر خدمات ادغام مداوم میزبان متکی هستند ، افشا کرد. Travis CI یک راه حل تست نرم افزاری است که توسط بیش از 900،000 پروژه منبع باز و 600،000 کاربر استفاده می شود. با این حال ، یک آسیب پذیری در این ابزار باعث شد تا متغیرهای محیطی امن - کلیدهای امضا ، اعتبارنامه

    و بدتر از آن ، جامعه توسعه دهندگان از مدیریت ضعیف فرایند افشای آسیب پذیری و "بولتن امنیتی" با نازک واژه ای که مجبور بود از تراویس خارج شود ، ناراحت است.

    متغیرهای محیطی که در ساختمان روابط عمومی تزریق می شوند.

    Travis CI به دلیل یکپارچگی یکپارچه با GitHub و Bitbucket همچنان در بین توسعه دهندگان یک ابزار محبوب تست نرم افزار است. همانطور که سازندگان ابزار خود آن را توضیح می دهند:

    وقتی یک بیلد را اجرا می کنید ، Travis CI مخزن GitHub شما را در یک محیط مجازی کاملاً جدید شبیه سازی می کند و مجموعه ای از وظایف را برای ساخت و آزمایش کد شما انجام می دهد. به اگر یک یا چند کار انجام نشود ، ساختار خراب در نظر گرفته می شود. اگر هیچ یک از وظایف انجام نشد ، ساخت و ساز در نظر گرفته می شود و تراویس CI می تواند کد شما را در سرور وب یا میزبان برنامه قرار دهد.

    اما در این ماه ، محقق Felix Lange یک آسیب پذیری امنیتی پیدا کرد که باعث شد Travis CI شامل متغیرهای محیط امن همه مخازن منبع باز عمومی است که از Travis CI برای ساخت درخواست های کششی (PR) استفاده می کند. متغیرهای محیطی می توانند شامل اسرار حساس مانند امضای کلیدها ، اعتبارنامه دسترسی و نشانه های API باشند. در صورت افشا شدن ، مهاجمان می توانند از این اسرار برای جابجایی جانبی در شبکه های هزاران سازمان سوء استفاده کنند.

    یک جستجوی ساده در GitHub نشان می دهد که تراویس در تعداد زیادی از پروژه ها در حال استفاده گسترده است:

    GitHub search results for "travis.yml." بزرگنمایی/GitHub نتایج جستجو برای" travis.yml. "

    با عنوان CVE-2021-41077 پیگیری می شود ، این اشکال در فرآیند فعال سازی Travis CI وجود دارد و بر برخی از ساختارهای ایجاد شده بین 3 سپتامبر تا 10 سپتامبر تأثیر می گذارد. به عنوان بخشی از این فرآیند فعال سازی ، توسعه دهندگان قرار است یک" .travis "اضافه کنند .yml "به مخزن پروژه منبع باز خود. این فایل به Travis CI می گوید که چه کار کند و ممکن است حاوی اسرار رمزگذاری شده باشد. اما قرار نیست این اسرار فاش شود. در واقع ، اسناد Travis CI همیشه اظهار داشته اند ، "متغیرهای رمزگذاری شده محیطی در دسترس نیستند تا درخواست ها را از چنگال بیرون بکشند ، زیرا خطر امنیتی قرار دادن چنین اطلاعاتی در کد ناشناخته است."

    تبلیغات

    در حالت ایده آل ، برای مشتری- با ارائه فایل "travis.yml" موجود در مخزن Git خود ، انتظار می رود که تراویس به گونه ای اجرا شود که از دسترسی عمومی به هر گونه متغیرهای محیط مخفی مشخص شده در فایل YML جلوگیری کند. به بیان ساده ، هنگامی که یک پروژه عمومی فورک می شود (کپی می شود) ، فایل ".travis.yml" ، همراه با این اسرار ، در چنگال قرار می گیرد. این همان چیزی است که قرار نیست اتفاق بیفتد. اما این آسیب پذیری باعث شد چنین اسراری به طور غیرمنتظره در معرض دید هرکسی قرار گیرد که در حین ساخت یک مخزن عمومی را فورک کرده و فایل ها را چاپ می کند.

    خوشبختانه به نظر می رسد این مسئله خیلی طولانی به طول انجامیده است - با تشکر به لانگ و دیگر محققانی که در 7 سپتامبر این اشکال را به شرکت اطلاع دادند. اما ، با احتیاط ، به همه پروژه های متکی بر تراویس CI توصیه می شود که اسرار خود را تغییر دهند. آسیب پذیری بازتاب حمله زنجیره تامین Codecov است که در آن بازیگران تهدید اسرار و متغیرهای حساس محیطی بسیاری از مشتریان Codecov را از محیط CI/CD خود فاش کرده اند که منجر به نشت اطلاعات بیشتر در شرکت های برجسته می شود.

    "با توجه به یک گزارش دریافت شده ، یک مخزن عمومی که از منبع دیگری ارسال شده است می تواند درخواست کشیدن (عملکرد استاندارد مانند GitHub ، BitBucket ، Assembla) را ارسال کند و در حین انجام این کار ، از مخزن عمومی اصلی با یک منبع غیر مجاز به مخفی دسترسی داشته باشد. مونتانا مندی از تراویس CI در یک بولتن امنیتی توضیح می دهد که شرایط چاپ برخی از مگس ها در طول مراحل ساخت چگونه است. "در این سناریو ، اسرار هنوز در پایگاه داده Travis CI رمزگذاری می شوند."

    مندی می گوید این مسئله فقط در مورد مخازن عمومی صدق می کند و نه مخازن خصوصی ، زیرا صاحبان مخازن دومی کنترل کاملی بر افرادی که می توانند فورک کنند دارند دارند. مخازن آنها. از نظر توسعه دهندگان چندان خوب نیست. یک صفحه وب مبهم:

    تبلیغات

    بین 3 سپتامبر تا 10 سپتامبر ، نسخه های امن * همه * عمومیtravisci repositorie s به ساختمانهای PR تزریق شد. کلیدهای امضا ، اعتبارات دسترسی ، نشانه های API. هرکسی می تواند اینها را تصفیه کند و حرکت جانبی را در هزاران سازمان انجام دهد. #امنیت 1/4 سیزگیگی توییت کرد.

    پس از تماس سیلاگی و لانگه به GitHub جهت ممنوعیت تراویس CI به دلیل وضعیت امنیتی ضعیف و روند افشای آسیب پذیری ، توصیه ای نشان داده شد:

    "سرانجام پس از اولتیماتومهای متعدد از پروژه های متعدد [آنها] این پست الاغ لنگ را مخفی کردند که در آن هیچ کس نخواند آن ... حتی یک "متشکرم". [بدون] تصدیق افشای مسئول. حتی اعتراف نکردن به اهمیت همه اینها ، "ادامه داد سیلاگی ، ضمن اشاره به بولتن امنیتی فوق الذکر ، و به ویژه نسخه خلاصه شده آن که به سختی جزئیات دارد:

     بله ، این یک بولتن امنیتی قانونی است. بزرگنمایی/بله ، این یک بولتن امنیتی قانونی است.

    Szilágyi توسط چندین عضو از انجمن انتقاد شد بولتن در همان تاپیک جیک جارویس ، توسعه دهنده وب مستقر در بوستون ، آن را "بولتن امنیتی" شرم آور "توصیف کرد. مندی از طرف تیم تراویس CI گفت: "Travis CI از 3 سپتامبر یک سری وصله های امنیتی را اجرا کرد که این مشکل را برطرف می کند." "به عنوان یک یادآوری ، دوچرخه سواری اسرار شما کاری است که همه کاربران باید به طور منظم انجام دهند. اگر مطمئن نیستید که چگونه این کار را انجام دهید لطفاً با پشتیبانی تماس بگیرید."

    Ars با Travis CI و Szilágyi تماس گرفته است. برای نظر بیشتر ، و منتظر پاسخ آنها هستیم.





خبرهای دیگر از فناوری اطلاعات