安全研究/和中谈安全/GitLab GraphQL 未授权项目删除漏洞(CVE-2026-19478)安全风险通告
GitLab GraphQL 未授权项目删除漏洞(CVE-2026-19478)安全风险通告
2026-08-24 09:08分享
 
发布时间:2026年08月24日
发布团队:和中通信安全团队
紧急级别:紧急
CVSS评分:9.4(严重)

一、漏洞概述

和中通信安全团队监测到 GitLab 官方于 2026 年 8 月 17 日发布紧急安全更新,修复了社区版(CE)和企业版(EE)中存在的一处严重高危漏洞,漏洞编号为CVE-2026-19478
该漏洞核心成因是 GitLab GraphQL 接口层在解析 @gl_introduced 特定指令时,存在 fallback 字段解析逻辑缺陷,未对未认证用户的请求做有效权限校验。攻击者无需任何身份认证、无需目标用户交互,仅构造单个恶意 GraphQL 请求,即可对 GitLab 公开项目数据、用户账号信息进行非法修改、删除、停用等高危操作。目前该漏洞的技术细节与 POC 代码已公开,漏洞利用门槛极低,极易被批量利用,对自研代码资产、开源项目供应链安全造成极大威胁。
经核查,GitLab 官方托管服务 GitLab.com、GitLab Dedicated 已完成后台自动修复,无需用户手动处理,仅自建托管(自托管)GitLab 实例存在风险,需立即处置
 
 
 

二、漏洞详细信息

项目
详情
漏洞名称
GitLab GraphQL 未授权项目删除漏洞
漏洞编号
CVE-2026-19478
公开时间
2026年08月17日
危害等级
严重(Critical)
CVSS评分
9.4
威胁类型
代码注入、未授权访问
利用条件
无需认证、无需用户交互、无权限限制
POC状态
已公开,可批量利用
在野利用状态
暂未发现大规模在野利用,风险持续攀升

三、漏洞原理深度分析

GitLab 为 GraphQL 接口提供了 @gl_introduced 指令,用于标记接口字段的版本兼容信息。在原始代码逻辑中,当该指令字段解析异常、触发 fallback 降级逻辑时,系统错误跳过了用户身份校验与资源权限校验流程。
未授权攻击者可构造恶意的 GraphQL 查询请求,触发该解析缺陷,绕过全局权限控制机制,直接调用项目删除、用户状态修改、数据变更等高危接口。整个攻击过程仅需一次请求,无需登录账号、无需获取任何权限,攻击链路简单、成功率极高,且恶意请求可绕过常规基础防护策略。

四、影响范围

本次漏洞仅影响自托管部署的 GitLab CE/EE 版本,官方云端托管服务已自动修复,不受漏洞影响。受影响具体版本如下:
  • 18.2.0 ~ 18.11.10 全系列版本
  • 19.0.0 ~ 19.0.7 全系列版本
  • 19.1.0 ~ 19.1.5 全系列版本
  • 19.2.0 ~ 19.2.3 全系列版本

五、漏洞危害与风险分析

该漏洞为严重级高危漏洞,利用成本极低、危害范围极广,对企业研发资产与供应链安全构成致命威胁,具体风险如下:
  • 核心数据损毁:攻击者可无差别删除企业公开研发项目、代码仓库、迭代记录、文档资料等核心资产,造成业务研发中断、数据永久丢失。
  • 用户账号失控:可恶意停用、封禁企业内部研发账号,篡改用户权限信息,导致研发团队无法正常使用GitLab服务。
  • 供应链安全风险:针对企业开源项目、公开组件发起篡改、删除攻击,污染开源代码资产,引发下游用户供应链安全隐患。
  • 安全溯源困难:恶意请求可伪装成正常接口请求,若未开启详细日志审计,攻击行为难以被及时发现和溯源。
  • 批量渗透风险:公开POC可支持自动化批量扫描利用,联网暴露的自托管GitLab实例极易被批量攻陷。

六、自查验证方法

企业可通过以下步骤快速自查自身资产是否受漏洞影响:
  1. 确认部署方式:排查是否为本地自托管GitLab实例,云端GitLab.com用户无需自查修复。
  2. 查询系统版本:登录GitLab管理后台,进入「管理中心-系统信息」,查看当前版本号,对照上述影响范围判断是否存在风险。
  3. 核查暴露端口:检查公网是否开放 GitLab GraphQL 接口(默认端点 /api/graphql),公网暴露实例风险等级最高。
  4. 审计操作日志:筛选近期项目删除、用户状态变更、批量数据修改记录,排查是否存在异常未授权操作。

七、紧急处置建议(优先级从高到低)

为保障企业研发资产安全,和中通信安全团队建议各单位立即落实以下修复与防护措施,优先完成版本升级,临时防护同步落地:

1、紧急升级至安全版本(根本修复)

所有受影响的自托管实例,请立即升级至官方修复的安全版本,具体安全版本如下:
  • 18.x 系列:升级至 18.11.11 及以上
  • 19.0 系列:升级至 19.0.8 及以上
  • 19.1 系列:升级至 19.1.6 及以上
  • 19.2 系列:升级至 19.2.4 及以上
官方升级地址:https://about.gitlab.com/update
升级前请做好代码仓库、配置文件全量备份,避免升级异常导致数据丢失。

2、临时接口访问限制(应急防护)

若短期内无法完成版本升级,可通过 Nginx、Apache 等反向代理设备,配置访问控制策略,限制公网对 /api/graphql 端点的访问,仅放行内网可信IP段,缩小攻击暴露面,临时阻断漏洞利用路径。

3、强化日志监控与告警

开启GitLab详细审计日志与GraphQL查询日志,重点监控高频异常请求、匿名高危查询、批量项目操作请求,配置日志告警策略,及时发现潜在攻击行为,实现威胁早发现、早处置。

4、优化项目权限管控

全面梳理公开项目权限,对无需对外公开的研发项目、私有组件、内部文档,统一调整为 Internal(内部可见)或 Private(私密)权限,减少未授权访问与攻击风险。

5、事后安全核查

定期核查GitLab审计日志、项目变更记录、用户账号状态,全面排查是否存在异常删除、数据篡改、账号封禁等操作,若发现攻击痕迹,及时溯源处置、修复漏洞、加固防护。

八、后续跟踪与声明

1、本安全通告由和中通信安全团队独家监测、整理并发布。团队将持续跟踪该漏洞的在野利用、变种攻击及官方后续更新动态,第一时间更新防护建议。
2、本通告所提供的技术方案、处置建议均基于公开安全资料与官方修复公告,仅供企业安全加固、风险自查使用,严禁用于非法攻击测试。
3、各单位可结合自身业务场景,合理选择修复方案,优先保障核心业务资产安全,防范漏洞带来的各类安全风险。
和中通信安全团队
2026年08月24日