Архив метки: BuildAgents

Про уязвимость Remote Code Execution - TeamCity (CVE-2026-63077)

Про уязвимость Remote Code Execution - TeamCity (CVE-2026-63077)

Про уязвимость Remote Code Execution - TeamCity (CVE-2026-63077). TeamCity - проприетарное решение компании JetBrains, предназначенное для автоматизации сборки, тестирования и развёртывания программного обеспечения. TeamCity использует центральный сервер для координации сборок и отдельные агенты сборки (build agents) для их выполнения. Агент может взаимодействовать с сервером через протокол опроса агентов: он регистрируется, запрашивает у сервера следующую команду и сообщает, была ли эта команда выполнена успешно или завершилась ошибкой. Уязвимость позволяет неаутентифицированному удалённому злоумышленнику, имеющему доступ к on-premises инсталляции TeamCity Server по HTTP(S), выполнить произвольные команды операционной системы с привилегиями процесса TeamCity Server посредством протокола опроса агентов (agent polling protocol). Уязвимость вызвана небезопасной десериализацией XML-данных (CWE-502). В зависимости от привилегий, предоставленных процессу TeamCity Server, успешная эксплуатация уязвимости может привести к раскрытию данных TeamCity, конфигураций и сохранённых учётных данных, изменению состояния сервера, а также потенциальной компрометации целостности артефактов сборки и CI/CD-конвейеров.

⚙️ Сообщение об этой критической уязвимости было опубликовано в блоге компании JetBrains 27 июля. Уязвимость затрагивает все версии TeamCity On-Premises. Для устранения уязвимости необходимо обновиться до версии 2025.11.7 или 2026.1.3. В качестве компенсирующей меры можно установить плагин для TeamCity 2017.1 и более поздних версий, блокирующий эксплуатацию уязвимости. Для TeamCity 2017.1-2018.1 после установки плагина необходимо перезапустить сервер. Начиная с TeamCity 2018.2, плагин можно активировать без перезапуска сервера TeamCity. Также в качестве долгосрочной меры защиты серверов TeamCity вендор рекомендует ограничить сетевой доступ к странице входа в TeamCity и REST API доверенными сетями. Рекомендуется запускать сервер TeamCity от имени учётной записи операционной системы с минимально необходимым набором привилегий. Серверы TeamCity должны размещаться на выделенных хостах отдельно от агентов сборки, как описано в документации.

👾 Уязвимость была добавлена в CISA KEV 5 августа. Сообщение об эксплуатации уязвимости в реальных атаках было опубликовано в блоге компании JetBrains 7 августа. Вендор рекомендовал проверить журналы TeamCity на наличие сообщений com.thoughtworks.xstream.converters.ConversionException, которые могут указывать на успешную эксплуатацию уязвимости и необходимость проведения дополнительного расследования. После обновления сервера или установки блокирующего плагина можно проверять журналы на com.thoughtworks.xstream.security.ForbiddenClassException - это сообщение свидетельствует о блокировке попытки эксплуатации. Также на попытки эксплуатации могут указывать неавторизованные агенты сборки, особенно с именами, начинающимися на scan.

🛠 Технический разбор уязвимости и ссылка на публичный эксплойт были опубликованы 7 августа в блоге компании Rapid7. С 28 августа доступен Metasploit-модуль для упрощённой эксплуатации уязвимости.

🌐 По данным JetBrains, TeamCity используют более 30 000 организаций по всему миру из государственного, технологического, финансового, медицинского и других секторов, включая некоторые компании из Fortune 500. На 30 июля Censys детектировали около 4 500 инсталляций TeamCity, доступных из Интернет. Из них 450 использовали версии 2025.11.7 или 2026.1.3. Большинство остальных работали на более ранних версиях или не раскрывали информацию о версии.