В услугата за непрекъсната интеграция 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“ или определяни чрез уеб-интерфейса на Travis CI. Подобни променливи се съхраняват в криптиран вид и се декриптират само по време на изграждането. Проблемът касае само публично достъпни репозитории, които имат форкове (приватни репозитории не са уязвими за атаки).
Източник: opennet.ru
