Тысячи серверов Jenkins все еще уязвимы несмотря на патчи

17 декабря 2018 г., понедельник

Разработчики ПО не удосуживаются развернуть обновления безопасности даже спустя несколько месяцев после их выхода.

Тысячи разработчиков проигнорировали важное обновление Jenkins, оставаясь уязвимыми перед взломщиками спустя несколько месяцев после публикации патча. Брешь в коде позволяет злоумышленникам перехватывать контроль над серверами разработки, похищать данные и внедрять код в чужие программные продукты.

Написанная на Java cистема Jenkins позволяет внедрить подходы непрерывной интеграции в процесс создания ПО. Решение выросло из проекта Hudson, который в 2004 году запустили эксперты Sun Microsystems. В 2011 году создатели продукта взяли его развитие в свои руки после серии разногласий с купившей Sun корпорацией Oracle. Они переименовали Hudson в Jenkins и сделали его одним из ведущих решений для автоматизации разработки в мире.

В июле создатели системы сообщили об уязвимости CVE-2018-1999001, которая позволяла неавторизованным пользователям получить права администратора. Как пояснили эксперты, из-за ошибки в работе системы злоумышленник мог удалить файл с настройками безопасности и обеспечить себе максимальные привилегии после перезагрузки сервера. В дальнейшем он получал возможность просматривать и менять код в разрабатываемых продуктах.

Угрозу усугубляла уязвимость CVE-2018-1999043, избавлявшая взломщика от необходимости ждать перезагрузки атакованного сервера. Используя слишком длинные имена несуществующих пользователей, специалисты смогли исчерпать память виртуальной машины и вызвать отказ в обслуживании с последующей перезагрузкой.

Разработчики Jenkins исправили баги двумя патчами — первую брешь закрыли в июле, вторая получила заплатку в августе. Однако, как выяснили эксперты, тысячи серверов продолжают работать на уязвимых версиях ПО до 2.131.

Специалисты сделали такой вывод по данным интернет-поисковика Shodan, где можно найти доступные онлайн хосты. Основная их часть расположена в США и Китае. Представленной на сайте информации достаточно для проведения атаки, подчеркнул Нимрод Столер (Nimrod Stoler), исследователь компании CyberArk.

«[Кроме открытых серверов,] Jenkins используется в закрытых сетях, которые нельзя увидеть в Shodan, — рассказал эксперт. — Поэтому мы видим только часть гораздо большего количества [уязвимых инфраструктур]. Напомню, провернуть атаку может любой пользователь с интернет-подключением».

Оценить возможную угрозу можно по февральской атаке криптоджекеров, от которой пострадали тысячи серверов Jenkins. Злоумышленники встроили на машины майнер, генерирующий Monero, и получили цифровую валюту на $3,4 млн. Примечательно, что это промежуточная сумма — для полного устранения угрозы нежелательное ПО следует удалить со всех пораженных серверов, а до тех пор оно продолжает приносить прибыль организаторам кампании.

Специалисты отмечают, что злоумышленники могут не ограничиваться воровством корпоративных мощностей. Комбинация двух брешей позволяет встроить в разрабатываемые приложения любой код, включая бэкдоры, шпионские зловреды и шифровальщики. Учитывая, что Jenkins используют многие крупные компании, уязвимость может стать орудием направленных атак.

Для защиты инфраструктуры администраторам рекомендуется не только установить необходимые обновления, но и изолировать Jenkins от внешних подключений. Кроме того, следует фильтровать поступающие запросы, чтобы вовремя блокировать попытки брутфорса мастер-сервера или виртуальной Java-машины.

Threatpost