Xakep #305. Многошаговые SQL-инъекции
Критическая уязвимость (CVE-2024-27198) в CI/CD-решении TeamCity позволяет удаленному неаутентифицированному злоумышленнику получить права администратора и контроль над сервером. Так как технические подробности о создании эксплоита уже доступны, администраторам рекомендуется как можно скорее устранить проблему, установив TeamCity 2023.11.4.
Также в новой версии TeamCity была исправлена вторая уязвимость (CVE-2024-27199), позволяющая изменять некоторые системные настройки без аутентификации. Обе проблемы были обнаружены специалистами компании Rapid7 и связаны с веб-компонентом TeamCity, затрагивая все версии локальных установок.
CVE-2024-27198 (9,8 балла по шкале CVSS) представляет собой критическую уязвимость обхода аутентификации в веб-компоненте TeamCity, вызванную проблемой альтернативного пути (alternative path). В свою очередь CVE-2024-27199 (7,3 балла по шкале CVSS), это проблема path traversal в веб-компоненте TeamCity, так же позволяющая обойти аутентификацию.
Исследователи предупреждают, что CVE-2024-27198 может дать злоумышленнику полный контроль над уязвимым сервером TeamCity, в том числе для удаленного выполнения произвольного кода.
«Компрометация сервера TeamCity позволяет злоумышленнику получить полный контроль над всеми проектами, сборками, агентами и артефактами TeamCity, и поэтому является подходящим вектором для проведения атак на цепочку поставок», — пишут в Rapid7.
Специалисты продемонстрировали серьезность проблемы, подготовив эксплоит, который позволяет получить shell-доступ (сессия Meterpreter) на целевом сервере TeamCity.
Вторая уязвимость менее опасна, поскольку для ее эксплуатации злоумышленнику необходимо уже находиться в сети жертвы. Так, атакующий может использовать CVE-2024-27199 для атак типа отказ в обслуживании (DoS) или для прослушивания клиентских подключений в рамках MitM-атак.
Rapid7 объясняет, что злоумышленники могут спровоцировать DoS на сервере, изменив номер HTTPS-порта или заменив HTTPS-сертификат на уязвимом сервере сертификатом по своему выбору. Чтобы добиться отказа в обслуживании, потребуется изменить HTTPS-порт или загрузить сертификат, который не пройдет валидацию на стороне клиента.
Как уже было сказано выше, компания JetBrains выпустила обновленную версию TeamCity — 2023.11.4, в которой устранены обе уязвимости. Разработчики пишут, что проблемы затрагивают «все версии до 2023.11.3» и настоятельно рекомендуют установить обновление как можно скорее. Если же это невозможно, для TeamCity 2018.2 и новее, а также для TeamCity 2018.1 и старше уже доступен специальный плагин.