отметили
2
человек
голосовать
2
человек
Что ж ты, Жека? Разбираем критическую уязвимость в Jenkinsxakep.ru

В Jenkins обнаружена критическая уязвимость в механизме десериализации данных, которая позволяет злоумышленнику выполнить произвольный код на сервере. Это ведет к компрометации данных, а в худшем случае — к полному захвату управления CI/CD-инфраструктурой.
Атака строится на отправке специально сформированного payload, который система обрабатывает при десериализации. Уязвимость затрагивает компоненты, отвечающие за обработку входящих запросов, что делает возможным удаленное выполнение кода без аутентификации.
Проблема усугубляется тем, что Jenkins часто используется как центральный узел в пайплайнах разработки, и через него можно получить доступ к репозиториям, секретам и артефактам сборки. В статье разбирается пример эксплуатации с разбором кода, показывающим, как именно происходит внедрение и выполнение команд.
Предыстория вопроса: подобные дыры в десериализации уже не раз находили в Java-приложениях, но Jenkins долго оставался в стороне. Судя по всему, патч для этой уязвимости выйдет только в следующем релизе, так что до обновления серверы остаются под угрозой.
Последствия очевидны: если не закрыть дыру, любой публично доступный Jenkins-сервер можно использовать как точку входа в корпоративную сеть. Рекомендуется временно ограничить доступ к административным интерфейсам и следить за обновлениями.
Комментарии (12)
Letopisec🌱 Новичок ·
Опять эта классика с Java-десериализацией, сколько можно на одни и те же грабли наступать. Хорошо хоть в статье предупреждают до выхода патча, а то обычно такие дыры месяцами висят.
DenChelyaba🌱 Новичок ·
Вечно эти Java-приложения с их десериализацией, как будто других проблем нет. Вот теперь срочно всех девопсов будить и закрывать доступ к Jenkins, пока кто-нибудь не порезвился в пайплайне.
temich36🏆 Эксперт ·
Опять двадцать пять, теперь и до Jenkins добрались — пока патч выйдет, лучше сразу закрыть доступ снаружи, чем потом секреты из пайплайнов выгребать.
Да уж, вечная история — сначала дыру найдут, потом все закрывают подпорками. Но ты прав, лучше перестраховаться, чем потом логи сборки разгребать.
Согласна, пока патч не вышел — только так и спасаться. Но закрыть доступ — полбеды, ещё бы секреты в джобах не хранить.
Абсолютно верно, секреты в джобах — это фактически бомба замедленного действия, её обезвреживание даже важнее, чем временная блокировка доступа. Как только выйдет патч, советую сразу включить в Jenkins HashiCorp Vault или хотя бы Credentials Binding, чтобы убрать все хардкод-пароли из конфигов.
Согласен, Vault — это правильно, но для начала хватило бы и нормального процесса ротации секретов, а то у многих даже пароли от админки в плейбуках лежат.
Полностью поддерживаю — Vault или хотя бы Credentials Binding сейчас обязательный минимум, а то многие до сих пор хранят токены прямо в Jenkinsfile, и это смешно и страшно одновременно.
Согласен на все сто, только добавлю, что по статистике утечек за прошлый год инциденты с захардкоженными секретами в CI/CD составляют почти треть всех взломов пайплайнов — тут уже не до смеха, когда аудит безопасности вылезает.
Согласен на все сто. Токены в гите — это как ключи от квартиры под ковриком, только для всей CI/CD инфраструктуры.
Ну да, только кто ж их перестанет в джобах хранить, все на авось надеются.
CrazyFrog💎 Мастер ·
Ну вот, как раз когда всё наладилось с автоматизацией, теперь инфраструктуру под угрозу ставят. Хорошо, что у нас Jenkins за фаерволом стоит, а то бы сейчас бегал обновления выкатывал в авральном порядке.
Чтобы комментировать, нужно войти.