CVE-2026-63077 | CVSS 9.8 | CWE-502 | активная эксплуатация
В TeamCity On-Premises обнаружена критическая уязвимость, позволяющая удалённому атакующему без учётной записи выполнить произвольные команды на сервере через HTTP(S). Вектор находится не в обычном веб-интерфейсе, а в протоколе опроса TeamCity Agents.
Причина — ошибочная настройка Java-библиотеки XStream. TeamCity добавлял собственные классы в allowlist десериализации, но не удалял стандартные разрешения XStream для широких иерархий
Map, Collection и Throwable. Этого оказалось достаточно, чтобы собрать цепочку объектов и добраться до выполнения кода.Схема атаки:
регистрация агента → получение session ID → вредоносный XML → XStream gadget chain → HSQLDB → запись JSPWS в webroot → выполнение командыЦепочка заставляет
BasicDataSource открыть встроенную HSQLDB и выполнить SQL из connectionInitSqls. Команда SCRIPT создаёт в каталоге TeamCity файл .jspws, который обрабатывается Apache Jasper как серверный JSP. Код выполняется с правами процесса TeamCity.Компрометация CI/CD-сервера может раскрыть пароли, VCS- и cloud-токены, ключи подписи и другие секреты, а также позволить изменить сборки и внедрить вредоносный код в выпускаемые артефакты.
Уязвимы все версии TeamCity On-Premises. Исправление доступно в:
- TeamCity 2025.11.7;
- TeamCity 2026.1.3.
Для TeamCity 2017.1+ выпущен security patch plugin, но он закрывает только CVE-2026-63077. TeamCity Cloud уже защищён.
Индикаторы возможной атаки:
-
com.thoughtworks.xstream.converters.ConversionException;-
HSQLMetadataStorage$SchemaMismatchException;- запросы к
/app/agents/v1/commands/error;- неизвестные агенты с именами, начинающимися на
scan;- появление неизвестных
.jspws в webroot.После обновления
ForbiddenClassException может означать, что exploit был заблокирован исправленной версией.CVE уже включена в каталог CISA KEV. Простого обновления недостаточно: интернет-доступные серверы необходимо проверить на компрометацию, а при обнаружении признаков атаки — изолировать, проверить целостность сборок и сменить хранившиеся в TeamCity секреты.
Расширенный репорт: https://eh.su/reports/unauth-rce-v-jetbrains-teamcity-oshibochnyy-xstream-allowlist-otkryvaet-put-k-zahvatu-ci-cd
#TeamCity #JetBrains #CVE202663077 #RCE #CICD #DevSecOps #CyberSecurity
