The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Уязвимость в Travis CI, приводящая к утечке ключей публичных репозиториев

16.09.2021 22:08

В сервисе непрерывной интеграции Travis CI, предназначенном для тестирования и сборки проектов, разрабатываемых на GitHub и Bitbucket, выявлена проблема с безопасностью (CVE-2021-41077), позволяющая узнать содержимое конфиденциальных переменных окружения публичных репозиториев, использующих Travis CI. В том числе уязвимость позволяет узнать используемые в Travis CI ключи для формирования цифровых подписей, ключи доступа и токены для обращения к API.

Проблема присутствовала в Travis CI с 3 по 10 сентября. Примечательно, что информация об уязвимости была передана разработчикам 7 сентября, но в ответ была лишь получена отписка с рекомендацией использовать ротацию ключей. Не получив должной обратной связи исследователи связались с GitHub и предложили занести Travis в чёрный список. Проблема была устранена лишь 10 сентября после большого числа поступивших жалоб от разных проектов. После инцидента на сайте компании Travis CI был опубликован более чем странный отчёт о проблеме, в котором вместо информирования об исправлении уязвимости, содержалась лишь указанная вне контекста рекомендация циклично менять ключи доступа.

После возмущения сокрытием сведений, высказанным несколькими крупными проектами, в форуме поддержки Travis CI был опубликован более подробный отчёт, в котором предупреждалось, что владелец форка любого публичного репозитория через отправку pull-запроса мог инициировать процесс сборки и получить неавторизированный доступ ко всем переменным окружения исходного репозитория, выставляемым во время сборки на основе полей из файла ".travis.yml" или определяемым через web-интерфейс Travis CI.

В том числе передавались и непубличные переменные окружения, содержащие ключи и токены, используемые для создания цифровых подписей или доступа ко внешним хранилищам, API и сервисам во время сборки. Подобные переменные хранятся в зашифрованном виде и расшифровываются только во время сборки. Проблема касалась только публично доступных репозиториев у которых есть форки (приватные репозитории не подвержены атаке). Напомним, что весной похожая проблема с утечкой закрытых переменных окружения из-за добавления бэкдора в скрипт сервиса Codecov, запускаемого во время сборки в системах непрерывной интеграции, привела к утечке ключей многих компанией и проектов, в том числе атакующие получили доступ к PGP-ключу компании HashiCorp, используемому для верификации релизов.

  1. Главная ссылка к новости (https://news.ycombinator.com/i...)
  2. OpenNews: Инцидент с удалением содержимого СУБД в сервисе непрерывной интеграции Travis CI
  3. OpenNews: Через уязвимость в GitHub от имени Линуса Торвальдса создан фиктивный репозиторий linux-ng
  4. OpenNews: Внедрение вредоносного кода в скрипт Codecov привело к компрометации PGP-ключа HashiCorp
  5. OpenNews: Уязвимость в cdnjs, позволившая выполнить код на серверах Cloudflare
  6. OpenNews: Уязвимость в GitHub Actions, допускающая подстановку команд
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/55812-travis
Ключевые слова: travis
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (36) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 00:10, 17/09/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Совсем их не жалко из-за заниженного плана в прошлом году
     
     
  • 2.5, кек (?), 00:41, 17/09/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    предлагаю переименовать в Травис Всё!
     
     
  • 3.16, Жироватт (ok), 08:52, 17/09/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Travis Continiuos Integration?
    Travis Final Integration?

    Хм...Тогда уж  

    Travis Final Repack by Xar40k

     
  • 2.6, Твоя мама (?), 01:08, 17/09/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А что было?
     
     
  • 3.8, Аноним (8), 01:24, 17/09/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Травис вроде опенсорц прожекты отрубил все
     
     
  • 4.9, Аноним (9), 01:26, 17/09/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Из-за майнеров
     
     
  • 5.11, Аноним (-), 07:20, 17/09/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Надуманная причина.
     
     
  • 6.37, Аноним (37), 08:52, 19/09/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Тем не менее, это была их добрая воля а не обязанность. Тестировать весь интернетый опенсорс наверняка затратно.
     

  • 1.2, Аноним (2), 00:12, 17/09/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Бэкдор это фича.
     
     
  • 2.4, Аноним (4), 00:25, 17/09/2021 [^] [^^] [^^^] [ответить]  
  • +7 +/
    BaaS
     
  • 2.20, Жироватт (ok), 09:06, 17/09/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А ведь Столлман об этом предупреждал дай б-г памяти еще в 90х-00х.
     
     
  • 3.22, Sw00p aka Jerom (?), 10:19, 17/09/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    это что еще за переменные окружения? времена cgi вернулись?
     
     
  • 4.24, Аноним (24), 12:12, 17/09/2021 [^] [^^] [^^^] [ответить]  
  • +/
    пароли, токены и прочая ерунда обычно инжектится в приложение через переменные окружения. типа клауд-нейтив-вей и все дела. так работает примерно во всех современных девляпсовских системах, типа тревиса или ансибль тауэр и прочих докерах.
     
     
  • 5.31, Аноним (31), 18:19, 17/09/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Пароли через переменные окружения инжектят только сумасшедшие.
     
     
  • 6.32, Аноним (24), 18:56, 17/09/2021 [^] [^^] [^^^] [ответить]  
  • +/
    ну что могу сказать, это печально, но тем не менее общепринятая ныне практика и один из принципов так называемой twelve-factor app методологии.
     
  • 6.38, Sem (??), 23:47, 19/09/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ничего сильно лучше не придумали пока.
     
  • 5.33, Sw00p aka Jerom (?), 22:15, 17/09/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > пароли, токены и прочая ерунда обычно инжектится в приложение через переменные окружения.
    > типа клауд-нейтив-вей и все дела. так работает примерно во всех современных
    > девляпсовских системах, типа тревиса или ансибль тауэр и прочих докерах.

    ясно, спасибо

    на вопрос, почему конфиг файлы не используют для этого, думаю ответ очевиден, мол забывают в гитигнор добавить и сливают на всякие гитхабы :)

     
  • 2.21, Travis всё (?), 10:06, 17/09/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    на случай если пароль забыл?

    ___
    а так.. переписывание на dlang спасёт

     

  • 1.3, Аноним (4), 00:25, 17/09/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Ой ))))
     
  • 1.7, pashev.me (?), 01:20, 17/09/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Это давно известно: пулреквест + автоматическая сборка - это дыра.
     
     
  • 2.18, Жироватт (ok), 09:00, 17/09/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Ты забыл мечтательно, с тянучим кокетливым двоеточием добавить "А вот если пуллреквесты дедлались на rust и xrust тулчейн делал автоматическую сборку..."
     

  • 1.10, КО (?), 05:33, 17/09/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Почитал я вики, какая то мутная компания с её Idera.
     
  • 1.12, anonunu (?), 08:07, 17/09/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Я так и не понял из новости о каких конфиденциальных переменных идёт речь? Разве в публичном репозитории не все открыто, чего там для настроек CI скрывать то?
     
     
  • 2.29, Аноним (29), 17:45, 17/09/2021 [^] [^^] [^^^] [ответить]  
  • +/
    "передавались и непубличные переменные окружения, содержащие ключи и токены, используемые для создания цифровых подписей или доступа ко внешним хранилищам, API и сервисам во время сборки."

    Секретная часть ключей утекла.

    Ими подпишут пробекдоренный и протрояненый софт и все будут думать что это оригинал.

    Все цыфровые подписи публичных реп надо менять.

     

  • 1.14, Аноним (-), 08:25, 17/09/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    щас выяснится что на нем собиралась прошивка МБР Сатана
     
     
  • 2.19, Жироватт (ok), 09:04, 17/09/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Ой, кому нахрен нужна эта прошивка, если толку от неё - нуль целых, хрен десятых, а 99% логики - "лети быстро, лети высоко, нет бога кроме Ленина и Сталин пророк его, алюминь" - там зашито аппаратно?

    А вот коммерческие проекты и компрометация опенсорца это дело выгодное: можно и сразу кэша хапнуть, и на перспективу политический ресурс внутри и снаружи проекта (не путать с обычный политикой) поиметь.

     
  • 2.23, пох. (?), 11:51, 17/09/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    щас выясницо что она собиралась в прямом смысле - берешь из одного ящика проволочку, из другого - сердечники, и - собираешь.
    Если перепутал и не туда продел проволочку - ракета прилетает тебе в огород вместо супостата.

    Зато никаких тебе увизгвимостей. А современные флэшки не любят лежать поблизости от фонящего ядерного боеприпаса.

     

  • 1.25, Аноним (25), 13:12, 17/09/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    Ну вот честно. Программирую с 2006-го года. Смотрю всё на эти молодежные хайпы и не понимаю, ну вот зачем? Зато с каким удовольствием и яхидством читаю нововости про обсирон всех этих докеров/куберов/js/rust итд итп.
     
     
  • 2.26, Аноним (26), 14:15, 17/09/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    За что сидишь?^W^W^W На чем пишешь? Как собираешь? Как деплоишь?
     
     
  • 3.28, Аноним (25), 15:30, 17/09/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Сижу за $$$$, пишу для барыжных фирмочек под Windows. Delphi, C/C++, MySQL, Sqlite3. Деплой через автоматическое обновление при запуске программы, как это делают многие (Filezilla, Notepad++ etc).
     

  • 1.27, Аноним (26), 14:16, 17/09/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Зато у тревиса есть иконка с чернокожим...
     
  • 1.30, Аноним (29), 17:47, 17/09/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А зачем какому-то сервису Travis CI передавать секретные ключи и токены доступа к темам и хранилищам?
     
  • 1.34, Аноним (34), 10:25, 18/09/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Да ну, не может быть! Ключи ведь намного безопаснее паролей!
     
     
  • 2.35, Аноним (24), 11:16, 18/09/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Сделаешь с помощью пароля без ключа цифровую подпись пакета?
     

  • 1.36, Онаним (?), 14:32, 18/09/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Continuous backdoor integration как он есть.
    Больше ада.
     
  • 1.39, 0x501D (?), 11:31, 21/09/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вот поэтому мы подняли свой CI на дроне вместо этого безобразия
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру