凌晨收到GitLab安全公告,CVSS满分,我看了看自家版本号

阅读量11038

发布时间 : 2026-10-26 14:47:16

GitLab爆出12年历史满分漏洞,无需认证即可RCE,你的代码库可能已裸奔多年。

凌晨两点,手机弹出GitLab安全公告推送。揉着眼睛看完,CVSS 10.0满分,无需认证就能远程执行代码。我第一反应不是去排查公司服务器,而是默默打开GitLab官网,看了看自家版本号,还好,上周刚升过级。但转念一想,全国有多少运维人员这会儿也在熬夜查版本?

这个漏洞编号CVE-2026-110264,影响GitLab社区版和企业版,从最古老的版本一直到最新版的自托管实例,全部中招。更可怕的是,这个漏洞已经存在了12年。12年是什么概念?GitLab 2014年就带着这个bug了,那时候很多安全从业者还在上大学。

一、漏洞到底有多大?满分10.0意味着什么

CVSS评分体系满分10分,能拿到满分的漏洞凤毛麟角。这意味着利用门槛极低,影响范围极广,后果极其严重。

具体来说,这个漏洞是未授权远程代码执行(RCE)。翻译成人话就是:攻击者不需要任何账号密码,只要能访问你的GitLab服务器,就能直接在服务器上执行任意命令。想干嘛干嘛,下载代码、植入后门、横向移动、勒索加密,全看攻击者心情。

对比一下近年来的高危漏洞:2021年的Log4Shell漏洞CVSS也是10分,但好歹需要触发日志记录;2024年的MoveitTransfer漏洞CVSS 9.8分,还需要一些特殊条件。而GitLab这个漏洞,简单粗暴到令人发指,无需认证、无需特殊条件、直接RCE。

更让人后背发凉的是,这个漏洞存在了12年。12年间,GitLab经历了无数次代码迭代、安全审计、版本更新,但这个漏洞就像个隐形炸弹,一直埋在代码深处。直到2026年10月21日,GitLab官方才发布补丁修复。

二、为什么12年都没被发现?

这个问题值得所有安全从业者深思。

首先,GitLab是个庞大的系统,代码量巨大。自托管版本包含代码托管、CI/CD、Issue管理、Wiki、容器镜像库等一堆功能,代码行数轻松过百万。在这样的巨型项目中做安全审计,难度可想而知。

其次,这个漏洞的触发条件可能比较隐蔽。很多漏洞不是写在代码里一眼就能看出来的,而是多个功能模块的交互过程中产生的逻辑缺陷。攻击者需要特定的访问路径,但又不是常规使用场景,所以在日常使用中很难被发现。

再者,安全测试的局限性。GitLab虽然有自己的安全团队,也会做渗透测试,但测试覆盖度永远是问题。测试人员会关注常见的注入点、认证绕过、权限提升,但一个存在12年的漏洞,很可能藏在某个被忽视的功能角落。

最后,还有一个残酷的现实:安全投入永远不够。企业做安全审计,往往是”出了事才重视”。GitLab作为开源项目,安全审计资源本就有限,能覆盖多少历史代码?能深入多少功能模块?这都是问题。

这个漏洞给整个行业敲响警钟:你系统里的那些”老代码”,真的安全吗?

三、对你的影响有多大?

如果你是企业的安全负责人或运维人员,现在应该立刻做三件事:

第一,确认版本。登录你的自托管GitLab,查看当前版本号。GitLab官方已经发布了修复版本,对照公告看看自己是否在受影响范围内。

第二,检查日志。翻看GitLab的访问日志,重点关注最近几个月的异常访问记录。有没有来自陌生IP的频繁请求?有没有非工作时间的异常登录?有没有未授权的API调用?

第三,排查异常。检查GitLab管理员账户,看看有没有被添加未知的管理员用户。检查代码仓库,看看有没有异常的提交记录或分支创建。检查CI/CD流水线,看看有没有被植入恶意的构建任务。

为什么这么紧急?因为自托管GitLab通常是企业的核心代码库,里面存着源代码、配置文件、密钥、文档,这些是企业的命脉。一旦被攻击者控制,后果不堪设想。

更麻烦的是,很多企业用的是旧版GitLab,升级并不是一件容易的事。自托管意味着你要自己负责版本升级、数据迁移、兼容性测试。有些企业的GitLab跑在两三年前的版本上,业务系统和它深度绑定,升级要协调多个部门,测试要花费几周时间。这种情况下,漏洞暴露后的窗口期就更短了。

四、临时救急方案:来不及升级怎么办?

如果你们公司的GitLab版本老旧,短期内无法升级,也不是完全没办法。这里有几个临时缓解措施:

第一,网络层限制。通过防火墙或WAF限制GitLab的访问来源,只允许内网IP或白名单IP访问。关闭GitLab的公网访问入口,哪怕是VPN接入也要严格审批。

第二,监控加强。给GitLab服务器部署额外的监控,实时监控异常进程、异常网络连接、异常文件修改。一旦发现可疑行为,立即告警。

第三,备份加强。在升级前,务必做好完整的数据备份。万一升级过程中出现问题,或者攻击者已经潜入,至少还能恢复数据。

第四,权限收紧。检查GitLab的权限配置,确保最小权限原则。普通用户不能访问敏感仓库,开发人员不能修改核心配置,管理员账户要启用双因素认证。

但这些只是临时方案,治标不治本。根本解决办法还是尽快升级到官方修复版本。

五、12年漏洞带来的行业反思

这个漏洞给整个软件行业上了一课。

首先,软件安全的长期挑战。现代软件系统越来越复杂,代码量动辄百万行、千万行。在这样的规模下,保证每一行代码都安全,几乎是不可能完成的任务。一个漏洞可能在代码提交时就存在,但要在十几年后才会被发现。这说明安全不是一次性工作,而是持续的过程。

其次,自托管软件的责任归属。很多企业选择自托管开源软件,认为”自己掌控更安全”。但现实是,自托管意味着你要自己负责安全更新、补丁管理、漏洞修复。GitLab官方发布了补丁,但补丁不会自动安装。如果你的运维团队没有及时跟进,那个12年的漏洞就可能一直存在。

再者,漏洞管理流程的重要性。企业需要建立完善的漏洞管理流程:定期扫描、及时响应、快速修复、持续监控。不是”出了事才处理”,而是”没出事就预防”。这需要投入人力、物力、时间,但在安全事件频发的今天,这些投入是值得的。

最后,代码审计和安全测试需要持续投入。不能只在产品上线前做一次安全测试,然后就不管了。要定期对历史代码进行审计,对核心功能进行渗透测试,对新功能进行安全评审。安全是持续的过程,不是一次性的任务。

六、写在最后

GitLab这个12年满分漏洞,让我想起一句话:”安全是一个过程,不是一个状态。”

你今天的安全,不代表明天还安全。那些跑在旧版本上的系统,那些没人维护的老代码,那些”等有空了再升级”的补丁,都是定时炸弹。

现在就去看看你们公司的GitLab版本吧。如果还没升级,今晚就加个班。毕竟,与其等攻击者来敲门,不如自己先把门锁好。

最后送一句话给所有安全从业者:漏洞不会等你准备好,但你可以现在就行动。

更多AI知识,请扫码关注Aiker World社区公众号

Aiker World社区网址:https://aikerworld.com

Aiker World(AI世界)-聚焦AI人才与智能体工具的垂直专家社区。专家领航+人才汇聚+工具赋能,打通AI技术与产业落地断层,为AI从业者、开发者及企业提供一站式成长与协作平台。

本文由安全客原创发布

转载,请参考转载声明,注明出处: https://www.anquanke.com/post/id/316350

安全KER - 有思想的安全新媒体

分享到:微信
+10赞
收藏
安全客
分享到:微信

发表评论

Copyright © 北京奇虎科技有限公司 三六零数字安全科技集团有限公司 安全KER All Rights Reserved 京ICP备08010314号-66