事件概述
CVE-2026-19478 GitLab GraphQL 指令未认证远程篡改漏洞于 2026 年 8 月 17 日由 GitLab 官方发布紧急修复,CVSS 评分 9.4,评级 Critical。该漏洞位于 GitLab Community Edition(CE)与 Enterprise Edition(EE)自托管实例的 GraphQL 接口中,在特定条件下允许未认证攻击者通过网络远程修改或删除公共项目与用户数据。GitLab.com 与 GitLab Dedicated 用户因已运行修补版本无需操作,所有自托管用户必须立即升级。
技术细节
CVE-2026-19478 源于 GitLab GraphQL 解析层对特定指令(directive)的处理缺陷。攻击者无需任何凭据即可向暴露在公网的自托管 GitLab 实例发送特制 GraphQL 请求,触发未授权变更操作。受影响版本覆盖 18.2 至 18.11、19.0、19.1、19.2 全部版本线,18.2 至 18.10 分支不再提供修复,需整体升级至 18.11.11 及以上版本。CVSS 向量显示该漏洞攻击向量为网络(AV:N)、攻击复杂度低(AC:L)、无需权限(PR:N)、无需用户交互(UI:N),影响范围完整(S:C)。
同期修复的还有 CVE-2026-19650 GraphQL 多路查询处理 CSRF 漏洞,CVSS 7.1,评级 High,需用户交互方可触发。两枚漏洞均在常规月度补丁之外加发,凸显 GitLab 对该 GraphQL 攻击面的重视。官方并未披露被利用的 GraphQL 指令具体名称,亦未说明成功利用所需的附加条件,按惯例将在补丁发布 90 天后公开技术细节。安全研究员在 2026 年 7 月已经公布过另一枚影响 GitLab 自托管服务器的漏洞工作利用代码,叠加此次紧急披露,自托管用户应将升级窗口压缩至 24 小时内。
影响评估
GitLab 在企业研发协作中地位核心,全球大量科技公司、互联网企业、开源组织依赖其自托管实例托管源代码、CI/CD 配置、容器镜像与项目文档。CVE-2026-19478 一旦被武器化,攻击者可远程删除公共项目、修改 issue 与合并请求内容、篡改 CI 变量甚至植入恶意流水线脚本,对软件供应链安全构成直接威胁。结合 CVE-2026-19650 CSRF 漏洞,攻击者可通过诱导登录用户点击特制链接放大攻击面。
自 2026 年 7 月以来 GitLab 自托管实例已多次被纳入在野利用监测,攻击者利用未修补实例植入 Web Shell、窃取 Runner Token、污染流水线产物的事件屡见不鲜。CVE-2026-19478 风险等级与 2025 年披露的 GitLab 任意用户密码重置漏洞(CVE-2025-0471)量级相当,所有未及时升级的实例将进入高危暴露期。
修复建议
立即将所有自托管 GitLab 实例升级到以下固定版本:
- 18.11.11 或更高版本(18.x 主分支)
- 19.0.8 或更高版本
- 19.1.6 或更高版本
- 19.2.4 或更高版本
对于仍在 18.10 及以下分支运行的旧实例,官方不再提供 18.2-18.10 范围的补丁,必须跨版本升级到 18.11.11。升级路径应先升级到 18.11 中间版本(如 18.11.10)再做安全升级。升级期间建议在边缘防火墙或反向代理层临时封禁对 /api/graphql 端点的公网访问,仅放行内网 CI 与运维 IP。CISA 与多国 CERT 预计将在数日内将该漏洞加入已知被利用漏洞目录(KEV),使用 GitLab 自托管的金融、电信、政企单位应优先处置。