事件概述
2026年7月27日,JetBrains发布安全公告,披露影响TeamCity On-Premises持续集成平台的CVE-2026-63077预认证远程代码执行漏洞,CVSS v3.1评分高达9.8(Critical)。攻击者仅需通过HTTP或HTTPS访问TeamCity服务器,无需任何凭证、无需用户交互,即可绕过身份验证检查并以TeamCity服务器进程的权限执行任意操作系统命令。
TeamCity是全球广泛使用的CI/CD构建自动化平台,被大量企业用于编译、测试和部署生产代码。该漏洞由独立安全研究员Antoni Tremblay于2026年7月10日通过协调披露流程私下报告,JetBrains已在公告中表示截至发布时尚未发现被主动利用的证据,但鉴于历史上TeamCity漏洞被攻击者快速武器化的先例,所有自托管TeamCity用户应视为紧急事件处理。
技术细节
漏洞基本信息
| CVE编号 | CVE-2026-63077 |
| CVSS v3.1 | 9.8(Critical,AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) |
| 漏洞类型 | CWE-502:不安全反序列化(Deserialization of Untrusted Data) |
| 攻击向量 | 网络,未认证,无需用户交互 |
| 影响组件 | TeamCity On-Premises(所有修复前的本地部署版本) |
漏洞原理
该漏洞存在于TeamCity的代理轮询协议(Agent Polling Protocol)中。正常情况下,TeamCity构建代理通过该协议从服务器请求任务分配。然而,由于服务器在处理代理轮询请求时对不可信数据执行了不安全的反序列化,攻击者可向该协议端点发送精心构造的请求,绕过身份验证检查并触发任意操作系统命令执行。
成功利用后,攻击者将以TeamCity服务器进程的权限运行命令。根据TeamCity服务账户的权限配置,攻击者可能:
- 访问TeamCity项目数据、服务器配置和存储的凭据
- 篡改服务器状态,修改构建作业配置
- 污染构建产物(build artifacts),影响下游CI/CD流水线
- 窃取源代码、API密钥、云服务凭据等敏感信息
- 以TeamCity服务器为跳板向企业内网横向渗透
受影响版本
该漏洞影响所有TeamCity On-Premises修复前版本。JetBrains已在以下版本中发布修复:
- TeamCity 2025.11.7
- TeamCity 2026.1.3
对于无法立即升级的用户,JetBrains还提供了安全补丁插件(适用于TeamCity 2017.1及更高版本),可作为临时缓解措施。
影响评估
- CVSS 9.8满分利用门槛:无需认证、无需交互、攻击复杂度低,是攻击者的”完美”目标
- CI/CD供应链核心位置:TeamCity控制着软件从代码到生产的整个构建与部署流水线
- 历史武器化先例:过去TeamCity的多个高危漏洞在被披露后迅速被国家级攻击者和勒索软件团伙利用
- 凭据集中存储:TeamCity服务器通常保存大量机密信息(云密钥、代码签名证书、部署凭据等)
- 构建产物污染风险:一旦攻击者控制TeamCity,可在构建阶段植入后门,影响所有下游用户
修复建议
方案一:升级到修复版本(推荐)
立即将TeamCity On-Premises升级至以下任一修复版本:
- TeamCity 2025.11.7
- TeamCity 2026.1.3
可通过手动下载或TeamCity自动更新功能完成升级。
方案二:安装安全补丁插件(无法立即升级时)
JetBrains官方安全补丁插件适用于TeamCity 2017.1及更高版本,且仅修复CVE-2026-63077:
- TeamCity 2024.03及更高版本:可在不重启的情况下启用插件
- TeamCity 2017.1至2018.1:需在安装后重启服务器
- 管理员可在Administration → Updates → Available Security Updates中查看并安装
该插件不能替代常规升级,仅作为临时方案。
深度防御措施
- 网络隔离:将TeamCity服务器限制在可信网络内,禁止公网直接访问
- VPN或额外访问层:面向互联网的TeamCity应置于VPN或反向代理之后
- 最小权限:以最低必需操作系统权限运行TeamCity服务
- 物理分离:将TeamCity服务器与构建代理(Build Agents)部署在独立主机上
- 凭据轮换:在补丁部署后,轮换所有存储在TeamCity中的源代码仓库凭据、云服务密钥和API令牌
- 日志监控:审查TeamCity访问日志,搜索异常的代理轮询请求模式