CVSS 评分 9.4,POC 已公开,自建 GitLab 实例需要立刻自查修复。
最近爆出的 GitLab 高危漏洞 CVE‑2026‑19478,属于未授权访问类漏洞。只要攻击者网络能够访问实例的 GraphQL 接口,不需要账号密码,不用登录系统,发送一条构造好的请求,就能够删除公开项目、封禁平台用户,甚至篡改项目内容带来供应链风险。
目前漏洞利用细节已经对外披露,POC/EXP 流出,攻击门槛很低。公网暴露的自建 GitLab 风险最高,内网部署的实例同样不能忽视。GitLab 官方已经发布紧急补丁,运维与开发负责人需要尽快完成版本排查。
漏洞成因与实际危害
这个问题出在 GitLab GraphQL API 内部指令解析逻辑,@gl_introduced指令在 fallback 处理时鉴权校验被绕过。匿名访问者可以调用原本需要登录授权的变更类接口,对平台上公开资源执行删除、修改操作。
注意:GitLab.com云托管版本不受该漏洞影响,风险对象仅限自建自托管 GitLab CE/EE 社区版、企业版。
真实业务场景下,漏洞带来的破坏主要有这几类:
- 直接删除公开仓库,代码、文档、提交记录永久丢失,业务研发直接中断;
- 封禁平台内用户账号,开发人员无法登录系统;
- 修改项目业务状态,篡改提交记录;
- 污染开源项目代码,植入恶意代码,引发供应链攻击。
测绘数据显示,全球范围内受影响的自建实例达到十万级别,国内同样存在大量暴露资产。虽然暂时没有大规模在野攻击事件被观测,但是 EXP 公开之后,扫描攻击会快速铺开,留给处置的时间窗口很短。
受影响版本清单
只有自托管 GitLab CE/EE 会中招,请登录后台管理区域核对版本号:
受影响版本:
- 18.2.0 ≤ GitLab CE/EE <18.11.11
- GitLab CE/EE 19.0.* <19.0.8
- GitLab CE/EE 19.1.* <19.1.6
- GitLab CE/EE 19.2.* <19.2.4
安全修复版本,建议升级到对应及以上:
- 18.11.11
- 19.0.8
- 19.1.6
- 19.2.4
简单自查方式:进入 GitLab 后台「管理区域 – 概览」查看版本号,落在上面受影响区间,就存在被攻击风险。
修复与临时缓解方案
方案一:升级补丁(首选,彻底解决漏洞)
官方已经发布紧急安全补丁,优先把实例升级至修复版本。
GitLab 更新地址:https://about.gitlab.com/update
本次补丁不需要数据库迁移,集群多节点部署升级也无需停机,升级成本相对可控。
方案二:临时缓解措施(来不及升级应急,不能替代升级)
如果短时间无法完成版本升级,可以通过反向代理做防护,降低被外部攻击概率:
- Nginx / 前置代理限制
/api/graphql接口访问,仅放行内网可信 IP,禁止公网直接访问 GraphQL 接口; - 开启 GraphQL 查询日志,持续审计接口请求,重点监控出现删除项目、用户封禁类 mutation 请求,配置告警;
- 检查实例公开项目,非业务需要尽量关闭公开可见权限。
重要提醒:临时防护只是降低攻击面,无法根治漏洞,条件允许务必完成版本升级。
运维自查建议
很多企业把自建 GitLab 作为核心代码仓库,存放业务源码、配置文档,一旦被入侵,损失会非常严重。
- 优先梳理公网暴露的 GitLab 实例,第一时间完成版本校验;
- 内网部署的 GitLab 同样需要升级,防止内网横向渗透利用该漏洞;
- 升级完成之后,建议核对仓库、用户账号状态,确认没有被恶意篡改;
- 关注 GitLab 安全公告,养成定期更新组件的习惯。
总结
CVE‑2026‑19478 最大的危险点在于无认证、攻击简单、破坏性强。一条网络请求就可以销毁仓库数据,一旦被黑客利用,代码丢失、供应链污染的后果很难挽回。
不要抱有侥幸,不管公网还是内网部署,都建议尽快完成自查与升级。
原文参考:https://www.secrss.com/articles/93183
参考来源:奇安信 CERT 安全通告、GitLab 官方安全公告