TeamCity CVE-2024-27198 认证绕过漏洞 — 0day 视角的发现与复现方法

TeamCity CVE-2024-27198 认证绕过漏洞 — 0day 视角的发现与复现方法 免责声明:本博客文章仅用于教育和研究目的。提供的所有技术和代码示例旨在帮助防御者理解攻击手法并提高安全态势。请勿使用此信息访问或干扰您不拥有或没有明确测试权限的系统。未经授权的使用可能违反法律和道德准则。作者对因应用所讨论概念而导致的任何误用或损害不承担任何责任。 系列说明:本文是该系列的第一篇,聚焦漏洞的成因分析、实验环境和 0day 视角的发现方法。关于漏洞的利用影响、在野态势、披露争议以及语义漂移模式的横向分析,见第二篇:[[teamcity-cve-2024-27198-impact]]。 漏洞编号 CVE-2024-27198 CWE分类 CWE-288(备用路径导致认证绕过) 发现时间 2024年2月(由 Rapid7 的 Stephen Fewer 发现) CVSS评分 9.8 (Critical / 严重) 受影响版本 JetBrains TeamCity On-Premises <= 2023.11.3 修复版本 JetBrains TeamCity 2023.11.4 危害描述 未经身份验证的攻击者可通过特定的URL路径绕过认证机制,获取管理员权限并接管TeamCity服务器,进而可能导致供应链投毒攻击。 目录 引言与漏洞背景 漏洞成因分析 漏洞触发环境与复现条件 漏洞发现方法与过程(0day视角) 防御机制与突破点分析 修复与缓解建议 结论:可迁移的发现方法论 参考与来源 1. 引言与漏洞背景 TeamCity 是 JetBrains 开发的一款广泛使用的 CI/CD(持续集成与持续交付)服务器,在企业软件开发生命周期中占据核心地位。由于其掌控着代码构建与部署权限,一旦被攻陷,极易引发大范围的软件供应链攻击。 2024年2月,Rapid7 漏洞研究团队在 TeamCity 的 Web 组件中发现了两个严重的认证绕过漏洞(CVE-2024-27198 与 CVE-2024-27199)。其中,CVE-2024-27198(CVSS 9.8)允许未经身份验证的攻击者直接获取最高管理权限并实现远程代码执行(RCE)。 我关注这个漏洞,不只是因为它严重,更因为它的根因很有代表性——不是某个鉴权函数"写错了",而是请求在多个处理层之间被不同组件"重新理解",导致鉴权边界和执行边界发生了错位。这种问题单看代码很难发现,常规扫描器也抓不住,但它有一套可以复用的发现方法论。 本文的核心目标就是还原这套方法论:在不依赖公开利用样例、不先验知道答案的前提下,从零开始走一遍"发现"的过程。 2. 漏洞成因分析 本节内容依据 Rapid7 官方报告 analysis 部分进行翻译与整理,重点还原"代码层为什么会绕过",而非仅描述复现步骤。 ...

May 15, 2026 · 3 min

从 TeamCity 到语义漂移 — CI/CD 平台的认证绕过模式与披露伦理

从 TeamCity 到语义漂移 — CI/CD 平台的认证绕过模式与披露伦理 免责声明:本博客文章仅用于教育和研究目的。提供的所有技术和代码示例旨在帮助防御者理解攻击手法并提高安全态势。请勿使用此信息访问或干扰您不拥有或没有明确测试权限的系统。未经授权的使用可能违反法律和道德准则。作者对因应用所讨论概念而导致的任何误用或损害不承担任何责任。 系列说明:本文是该系列的第二篇,讨论漏洞的利用影响、披露争议,以及将 CVE-2024-27198 放入更广阔的"语义漂移"模式中进行横向比较。技术层面的代码分析、实验环境和发现方法论见第一篇:[[teamcity-cve-2024-27198-discovery]]。 目录 引言:跳出单个漏洞 漏洞可利用性与在野利用 漏洞披露与社区争议 语义漂移:同类漏洞的横向比较 五条件审计清单 结论 参考与来源 1. 引言:跳出单个漏洞 第一篇还原了 CVE-2024-27198 的发现过程——从不带答案的基线建模,到语义变异、灰盒收敛,再到定向验证。 但如果只把它看成一个孤立事件,就错过了它背后更值得关注的东西。做完这篇分析后我横向翻了翻过去几年类似的认证绕过漏洞,发现它们不是散点,而是同一根因的反复出现:请求在流经多个路径解析器时,语义发生了漂移,而鉴权决定发生在漂移之前。 这篇文章想做的事就是把这条线拉通。先还原漏洞造成的真实影响和披露过程中的争议,再用几个同行案例说明这个模式有多常见,最后给一个可以在审计时直接用的检查清单。 2. 漏洞可利用性与在野利用 2.1 影响能力边界 结合 Rapid7 在 2024-03-04 披露中给出的公开利用样例,漏洞的实际危害可以拆成一条更具体的能力链: 图2-1 从未认证访问到供应链外溢的能力升级路径。 未认证调用管理 REST 接口(跨越登录边界) 攻击者可构造类似 /does-not-exist?jsp=/app/rest/...;.jsp 的请求,把本应受保护的 REST 端点暴露给未登录请求。 这一步代表的是直接获得对管理 API 的未认证调用能力。 直接创建管理员账号(权限立刻提升到 SYSTEM_ADMIN) Rapid7 的公开示例显示,攻击者可向 /app/rest/users 发起创建用户请求,并在请求体中赋予 SYSTEM_ADMIN 角色。 返回结果中的用户对象会包含管理员角色字段,这意味着攻击者无需先拿低权限账号,起手就是全局管理员。 生成管理员访问令牌(持久化控制) 除了创建管理员用户,攻击者还可针对用户 token 接口(如 /app/rest/users/id:1/tokens/...)生成管理员 token。 一旦 token 生成成功,即使后续密码策略变更,攻击者仍可能通过 API 持续访问,形成较强持久化。 接管 TeamCity 控制面(项目/构建/制品/代理) 在管理员权限下,影响范围不是单一页面,而是整个 TeamCity 控制面: ...

May 15, 2026 · 4 min

TeamCity 认证绕过漏洞复现与分析(CVE-2024-27198)

TeamCity认证绕过漏洞(CVE-2024-27198)复现报告与分析 免责声明:本博客文章仅用于教育和研究目的。提供的所有技术和代码示例旨在帮助防御者理解攻击手法并提高安全态势。请勿使用此信息访问或干扰您不拥有或没有明确测试权限的系统。未经授权的使用可能违反法律和道德准则。作者对因应用所讨论概念而导致的任何误用或损害不承担任何责任。 漏洞编号 CVE-2024-27198 CWE分类 CWE-288(备用路径导致认证绕过) 发现时间 2024年2月(由 Rapid7 的 Stephen Fewer 发现) CVSS评分 9.8 (Critical / 严重) 受影响版本 JetBrains TeamCity On-Premises <= 2023.11.3 修复版本 JetBrains TeamCity 2023.11.4 危害描述 未经身份验证的攻击者可通过特定的URL路径绕过认证机制,获取管理员权限并接管TeamCity服务器,进而可能导致供应链投毒攻击。 目录 引言与漏洞背景 漏洞成因分析 漏洞触发环境与复现条件 漏洞发现方法与过程(0day视角) 漏洞可利用性分析 防御机制与突破点分析 修复与缓解建议 漏洞披露与社区争议 结论 参考与来源 1. 引言与漏洞背景 TeamCity 是 JetBrains 开发的一款广泛使用的 CI/CD(持续集成与持续交付)服务器,在企业软件开发生命周期中占据核心地位。由于其掌控着代码构建与部署权限,一旦被攻陷,极易引发大范围的软件供应链攻击。 2024年2月,Rapid7 漏洞研究团队在 TeamCity 的 Web 组件中发现了两个严重的认证绕过漏洞(CVE-2024-27198 与 CVE-2024-27199)。其中,CVE-2024-27198(CVSS 9.8)由于允许未经身份验证的攻击者直接获取最高管理权限并实现远程代码执行(RCE),危害尤为严重。 值得注意的是,该漏洞在3月初的披露过程并非一帆风顺。由于发现方(Rapid7)与厂商(JetBrains)在“协调披露”与“静默修补”理念上产生严重分歧,Rapid7 在补丁发布当日即公开了详细技术报告。这一事件不仅导致随后几天内爆发了针对该漏洞的大规模在野利用(如勒索软件和挖矿木马),更在安全社区引发了一场关于“漏洞披露伦理”的广泛争论(详见文末讨论)。 2. 漏洞成因分析 本节内容依据 Rapid7 官方报告 analysis 部分进行翻译与整理,重点还原“代码层为什么会绕过”,而非仅描述复现步骤。 该漏洞本质属于 CWE-288(Authentication Bypass Using an Alternate Path):请求在不同处理层被解释为不同语义,导致鉴权边界与执行边界错位。 ...

May 14, 2026 · 5 min

Nacos 身份认证绕过漏洞复现 (CVE-2021-29441)

漏洞背景 Nacos 是阿里巴巴开源的动态服务发现、配置管理和服务管理平台。 在特定的历史版本中,Nacos 存在身份认证绕过漏洞(CVE-2021-29441)。 漏洞原理 由于在处理请求时,对特定 User-Agent 或特定参数判断存在逻辑缺陷,导致攻击者可以伪造身份绕过鉴权,直接读取或修改配置中心的配置。 AccessGuard 审计视角 在重构 AccessGuard 时,我们将 Nacos 作为一个典型的 DevOps 平台基础设施靶场。 传统的 SAST 工具难以理解 User-Agent 与后端拦截器(Interceptor)或过滤器(Filter)之间的权限状态转移。 通过引入 LLM-driven 的 Agentic 架构,AccessGuard 能够: 识别 NacosAuthFilter 中的守卫逻辑。 发现其对特殊请求头的硬编码放行逻辑。 判定该放行逻辑与敏感 Sink 之间存在可达路径。 复现步骤 (本文为测试文章,详细复现步骤将在后续更新)

March 19, 2026 · 1 min