GitLab 发布 19.5.1 等关键安全补丁,修复 CVSS 10.0 整数溢出漏洞
GitLab Critical Patch Release
GitLab 于 2026 年 10 月 21 日发布 19.5.1、19.4.3、19.3.6 等七个关键补丁版本,集中修复正则表达式整数溢出(CVSS 10.0)、OmniAuth-to-LDAP 账户接管、OAuth/OIDC 缓存投毒等十余项安全漏洞。
GitLab 一次公开 CVSS 10.0 的正则远程代码执行等十余项漏洞及完整受影响版本矩阵,自托管运维可直接对照评估升级风险。
2026年10月21日,我们发布了适用于 GitLab 社区版(CE)和企业版(EE)的 19.5.1、19.4.3、19.3.6、19.2.9、19.1.9、19.0.10、18.11.13 版本。
这些版本包含重要的错误修复和安全修复,我们强烈建议所有自行托管的 GitLab 安装立即升级至其中任一版本。GitLab.com 已经运行修复后的版本。运行 19.3.5-internal0 和 19.4.2-internal0 或更高版本的 GitLab Dedicated 租户已经包含这些修复,无需采取任何操作。
GitLab 通过补丁版本发布漏洞修复。补丁版本分为两类:计划发布,以及针对高严重性漏洞的临时关键补丁。计划版本每月发布两次,时间为第二个和第四个星期三。 有关更多信息,请访问我们的发布手册和安全常见问题解答。 您可以在这里查看 GitLab 发布的全部博客文章。
对于安全修复,详述每个漏洞的问题将在漏洞得到修复的版本发布 90 天后,通过我们的问题跟踪器公开。
我们致力于确保 GitLab 中所有面向客户开放或托管客户数据的方面均符合最高安全标准。为保持良好的安全实践,我们强烈建议所有客户将其受支持版本升级至最新补丁版本。您可以在我们的博客文章中进一步了解保护 GitLab 实例的最佳实践。
建议采取的措施
我们强烈建议将所有运行受下述问题影响版本的安装尽快升级至最新版本。
当未提及产品的特定部署类型(omnibus、源代码、Helm chart 等)时,表示所有类型均受到影响。
安全修复
安全修复表格
CVE-2026-110264 - 正则表达式编译器中的整数溢出问题影响 GitLab CE/EE
GitLab 修复了一个漏洞,该漏洞在特定条件下可能允许未认证用户在 GitLab 服务器上执行任意代码,原因是编译特制正则表达式时发生整数溢出。
除了标准补丁版本外,我们还将此修复回移植到了 GitLab CE/EE 18.11.13、19.0.10、19.1.9 和 19.2.9 版本。
受影响版本: GitLab CE/EE:从 7.0 起至低于 18.11.13、低于 19.0.10、低于 19.1.9、低于 19.2.9、低于 19.3.6、低于 19.4.3,以及低于 19.5.1 的所有版本
CVSS 10.0 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H)
感谢 joaxcar 通过我们的 HackerOne 漏洞赏金计划报告此漏洞
检测 CVE-2026-110264 利用尝试
GitLab 安全团队发布了两个威胁检测项,以支持自管理实例的客户,详见下文。包括 GitLab.com 和 GitLab Dedicated 在内的 GitLab 托管基础设施仍保持已修复状态。
CVE-2026-15723 - GitLab CE/EE 中 OmniAuth 至 LDAP 自动关联邮件查询存在认证不当问题
GitLab 修复了一个漏洞:当 OmniAuth SAML 和 LDAP 自动关联同时启用时,已认证用户可能无需目标用户任何交互,即可接管一个现有的 LDAP 后端账户,原因是 OmniAuth 身份关联过程中 LDAP 邮件查询路径对输入清理不当。
受影响版本: GitLab CE/EE:从 10.1 起至低于 19.3.6、低于 19.4.3,以及低于 19.5.1 的所有版本
CVSS 8.2 (CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:N)
感谢 stealthy 通过我们的 HackerOne 漏洞赏金计划报告此漏洞
CVE-2026-112212 - GitLab CE/EE 中 OAuth/OIDC 发现端点存在缓存投毒问题
GitLab 修复了一个漏洞:在特定条件下,未认证用户可能对共享缓存的 OAuth/OIDC 发现文档进行投毒,从而将某些流程重定向到外部控制的服务器,原因是缓存的发现响应中构造端点 URL 时不当信任用户提供值。
受影响版本: GitLab CE/EE:从 18.3 起至低于 19.3.6、低于 19.4.3,以及低于 19.5.1 的所有版本
CVSS 7.5 (CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:L/A:L)
此漏洞由 GitLab 团队成员 Peter Arts 内部发现
CVE-2026-12664 - GitLab CE/EE 中 GraphQL 工作项邮件地址字段存在访问控制不当问题
GitLab 修复了一个漏洞:在特定条件下,拥有 read_api 范围令牌的已认证用户可能绕过该令牌的限制,获取项目的收件邮箱地址并创建工作项,原因是 GraphQL 字段上作用域强制不足。
受影响版本: GitLab CE/EE:从 18.2 起至低于 19.3.6、低于 19.4.3,以及低于 19.5.1 的所有版本
CVSS 6.8 (CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N)
感谢 go7f0 通过我们的 HackerOne 漏洞赏金计划报告此漏洞
CVE-2026-16255 - GitLab EE 中实例级 SAML/LDAP 成员锁强制执行不完整,允许未授权添加成员
GitLab 已修复一个问题:当启用实例级 SAML 或 LDAP 成员资格锁定时,由于未对锁定启用前创建的请求完整执行成员资格锁定,已认证用户可能授予或接受身份提供商控制范围之外的项目和群组成员资格。
受影响版本: GitLab EE:12.0 起至 19.3.6 之前、19.4 起至 19.4.3 之前以及 19.5 起至 19.5.1 之前的所有版本
CVSS 5.9 (CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:N)
感谢 3nvz 通过我们的 HackerOne 漏洞赏金计划报告此漏洞
GitLab 已修复一个问题:在某些情况下,由于对内部响应标头过滤不当,未认证用户可能获取敏感的内部服务器凭据。
受影响版本: GitLab CE/EE:17.6.5 起至 19.3.6 之前、19.4 起至 19.4.3 之前以及 19.5 起至 19.5.1 之前的所有版本
CVSS 4.3 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N)
感谢 altair00 通过我们的 HackerOne 漏洞赏金计划报告此漏洞
CVE-2026-13319 - 群组里程碑 API 中通过用户控制的键绕过授权的问题影响 GitLab CE/EE
GitLab 已修复一个问题:由于群组里程碑 API 中缺少对用户提供的项目筛选参数的授权检查,已认证用户无需具备任何项目成员资格,即可读取实例中任意私有项目的里程碑元数据,包括标题、描述和完整项目路径。
受影响版本: GitLab CE/EE:15.10 起至 19.3.6 之前、19.4 起至 19.4.3 之前以及 19.5 起至 19.5.1 之前的所有版本
CVSS 4.3 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N)
感谢 a0xnirudh 通过我们的 HackerOne 漏洞赏金计划报告此漏洞
GitLab 已修复一个问题:在某些情况下,由于计费资格检查中的服务器端验证不足,已认证用户可能在没有有效订阅的情况下访问付费 AI 功能。
受影响版本: GitLab EE:17.8 起至 19.3.6 之前、19.4 起至 19.4.3 之前以及 19.5 起至 19.5.1 之前的所有版本
CVSS 4.3 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N)
此漏洞由 GitLab 团队成员 Halil Coban 在内部发现
CVE-2026-105711 - 合并请求标题渲染中使用包含敏感信息的缓存问题影响 GitLab CE/EE
GitLab 已修复一个问题:当公共项目中的合并请求引用私有项目中的机密议题时,由于与查看者无关的片段缓存键错误地在所有用户之间共享了经按用户隐去相应内容后生成的渲染结果,不具备任何项目成员资格的已认证用户可能读取该机密议题的标题。
受影响版本: GitLab CE/EE:15.0 起至 19.3.6 之前、19.4 起至 19.4.3 之前以及 19.5 起至 19.5.1 之前的所有版本
CVSS 3.5 (CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:N/A:N)
感谢 20kilograma 通过我们的 HackerOne 漏洞赏金计划报告此漏洞
CVE-2026-14288 - 合并请求审批策略执行中的访问控制不当问题影响 GitLab EE
GitLab 已修复一个问题:在某些情况下,由于审批规则同步期间访问控制不当,已认证用户可能绕过受保护分支上必须遵循的合并请求审批策略。
受影响版本: GitLab EE:从 17.4 起至 19.3.6 之前、19.4 起至 19.4.3 之前,以及 19.5 起至 19.5.1 之前的所有版本
CVSS 3.1 (CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N)
感谢 3nvz 通过我们的 HackerOne 漏洞赏金计划报告此漏洞
CVE-2026-112326 - 安全发现中抛出异常时的清理不当问题影响 GitLab EE
GitLab 已修复一个问题:在某些情况下,由于错误处理期间的清理逻辑不当,未能区分预先存在的记录和新创建的记录,持有只读权限的已认证用户可能永久删除现有漏洞记录。
受影响版本: GitLab EE:从 17.8 起至 19.3.6 之前、19.4 起至 19.4.3 之前,以及 19.5 起至 19.5.1 之前的所有版本
CVSS 3.1 (CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N)
此漏洞由 GitLab 团队成员 Gregory Havenga 在内部发现
CVE-2026-103515 - 群组 Duo 中针对 Amazon Q 设置的管理员锁定执行存在访问控制不当问题,影响 GitLab EE
GitLab 已修复一个问题:当实例管理员锁定某个群组的 Duo 可用性时,拥有该群组 Owner 权限的已认证用户可能重新启用该群组及其后代项目向第三方服务进行 AI 辅助的数据外传,原因是管理员锁定执行控制的粒度不足。
受影响版本: GitLab EE:从 19.2 起至 19.3.6 之前、19.4 起至 19.4.3 之前,以及 19.5 起至 19.5.1 之前的所有版本
CVSS 2.7 (CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:L/A:N)
感谢 3nvz 通过我们的 HackerOne 漏洞赏金计划报告此漏洞
缺陷修复
19.5.1
- 将稳定分支中缺失的 19.5 文档页面回移植
- 将 19.5 发行说明回移植到 19-5-stable-ee
- 回移植‘在 roulette 实验的默认规格中忽略 CI 变量’
- 回移植‘隔离范围选择器搜索查询规格’
- 将 GitLab Runner 19.5 发布文章回移植到最新稳定分支
- 将 CNG helm chart 引用升级至 v10.5.0
- 将‘为 Duo CLI 设置 GITLAB_BIN_DIR 并将工作流镜像升级至 v0.0.23’回移植到 19.5
- 将‘从内部 Orbit 项目信息中返回 repository_storage’回移植到 19.5
- 回移植‘Workhorse:当 Gitaly 因 ResourceExhausted 拒绝 GetArchive 时返回 429’
- 回移植‘为流水线执行策略所涵盖的流水线分配流水线 IID’
- 将‘将提交列表浏览按钮链接到当前文件路径’回移植到 19.5
- 回移植“备份仓库时仅加载所需的代码片段列”
- [19.5] 将 gitlab-markup 更新至 2.2.0,并将 rdoc 更新至 8.1.0
- 将‘在 .browserslistrc 中固定 Baseline 日期’回移植到 19.5
- 按请求缓存基础流程目录项
- 修复带有 features 字段的工作项变更类型和子里程碑问题
- 将‘抛出 Rouge Fallthrough 异常但不捕获回溯’回移植到 19.5
- 将‘为 202610150001_19_05 添加 What’s New 条目’回移植到 19.5
- 将‘当仓库缺失时,为 Orbit archive 和 changed_paths 返回 404’回移植到 19.5
- 回移植‘阻止没有 fetch 的作业借用 git 对象池’和‘修复下游流水线的 git alternates’
- [19.5] 为 3.3、3.4 和 4.0 添加 Ruby regexp repeat ID 溢出补丁
- [19.5] 为 3.3、3.4 和 4.0 添加 Ruby regexp repeat ID 溢出补丁
19.4.3
- 添加 siphon-tables 镜像,其中打包了 Siphon CDC 表定义 [19.4]
- [19.4] 为 3.3、3.4 和 4.0 添加 Ruby regexp repeat ID 溢出补丁
- 将“在 ListRefs 中公开选择启用的 tagger 日期”反向移植到 19.4
- 将“从 Developer 流触发器中移除陈旧的 merge_request 事件”反向移植到 19.4
- 将“向 Gitlab::HTTP HTTP_ERRORS 添加 IP 回退错误”反向移植到 19.4
- 将“恢复跨导出文件的 CVE 富化同步”反向移植到 19.4
- 将“修复未登录用户看到的截断差异”反向移植到 19.4
- 将“从 Workhorse 中客户端提供的 MCP 工具上移除 trusted 标志”反向移植到 19.4
- 将“修复标签与目标分支同名时的快进合并”反向移植到 19.4
- 将“在 roulette 实验的默认规格中忽略 CI 变量”反向移植
- 将“为 fork MR 流水线添加缺失的 ID 令牌声明”反向移植到 19.4
- 将“备份仓库时仅加载所需的代码片段列”反向移植
- 将“为 Duo CLI 设置 GITLAB_BIN_DIR 并将工作流镜像升级至 v0.0.23”反向移植到 19.4
- 将“固定 .browserslistrc 中的 Baseline 日期”反向移植到 19.4
- 将“从内部 Orbit 项目信息中返回 repository_storage”反向移植到 19.4
- 将“Workhorse:Gitaly 因 ResourceExhausted 拒绝 GetArchive 时返回 429”反向移植
- 将“为流水线执行策略的流水线分配 pipeline IID”反向移植
- [19.4] 将 gitlab-markup 更新至 2.2.0,并将 rdoc 更新至 8.1.0
- 将“仓库缺失时为 Orbit archive 和 changed_paths 返回 404”反向移植到 19.4
- 将“抛出 Rouge Fallthrough 时不捕获回溯”反向移植到 19.4
- 将“从可合并性字段中移除不必要的提交者批量加载”反向移植到 19.4
- 将“对 Wiki 体验进行调整”反向移植到 19.4
- [19.4] 为 3.3、3.4 和 4.0 添加 Ruby regexp repeat ID 溢出补丁
19.3.6
- [19.3] 为 3.3、3.4 和 4.0 添加 Ruby regexp repeat ID 溢出补丁
- 将“在 ListRefs 中公开选择启用的 tagger 日期”反向移植到 19.3
- 将“向 Gitlab::HTTP HTTP_ERRORS 添加 IP 回退错误”反向移植到 19.3
- 将“恢复跨导出文件的 CVE 富化同步”反向移植到 19.3
- 将“修复标签与目标分支同名时的快进合并”反向移植到 19.3
- 将“从 Workhorse 中客户端提供的 MCP 工具上移除 trusted 标志”反向移植到 19.3
- 将“为 fork MR 流水线添加缺失的 ID 令牌声明”反向移植到 19.3
- 将“备份仓库时仅加载所需的代码片段列”反向移植
- 将“Workhorse:Gitaly 因 ResourceExhausted 拒绝 GetArchive 时返回 429”反向移植
- 将“固定 .browserslistrc 中的 Baseline 日期”反向移植到 19.3
- 将“从内部 Orbit 项目信息中返回 repository_storage”反向移植到 19.3
- [19.3] 将 gitlab-markup 更新至 2.2.0,并将 rdoc 更新至 8.1.0
- 将“对 Wiki 体验进行调整”反向移植到 19.3
- 将“抛出 Rouge Fallthrough 时不捕获回溯”反向移植到 19.3
- 将‘仓库缺失时为 Orbit archive 和 changed_paths 返回 404’回移植到 19.3
- 将 Prometheus 升级至版本 3.13.2 (19-3-stable)
- [19.3] 添加适用于 3.3、3.4 和 4.0 的 Ruby regexp repeat ID 溢出补丁
19.2.9
- [19.2] 添加适用于 3.3、3.4 和 4.0 的 Ruby regexp repeat ID 溢出补丁
- 将‘为 fork MR 流水线补充缺失的 ID 令牌声明’回移植到 19.2
- [19.2] 将 gitlab-markup 更新至 2.2.0,将 rdoc 更新至 8.1.0
- 将 Prometheus 升级至版本 3.13.2 (19-2-stable)
- [19.2] 添加适用于 3.3、3.4 和 4.0 的 Ruby regexp repeat ID 溢出补丁
19.1.9
- 将 websocket-driver 从 0.8.0 升级至 0.8.2(回移植到 19-1-stable-ee)
- 将‘修复空 CI 分区上的回填迁移重叠问题’回移植到 19-1-stable-ee
- 将‘将 GitLab Elasticsearch Indexer 更新至 5.14.14’回移植到 19.1
- 将‘删除 secrets 规范中的系统故障断言’回移植到 19-1-stable-ee
- 在 19.1 中将 gitlab-shell 升级至 14.56.1(修复 gitlab-sshd CPU 空转问题)
- 将 PostgreSQL 升级至版本 17.11 (19-1-stable)
- 将 Consul 升级至版本 1.22.7 (19-1-stable)
- 将分支‘sdg-fips-staging-upload-internal-release’合并到 19.1
- 将 !9672 回移植到 19-1-stable:selinux: 为 RHEL 10 / OpenSSH 9.8+ 添加 sshd_session_t 和 sshd_auth_t 规则
- 将 !9744 回移植到 19-1-stable:在 SELinux 下允许 sshd 快速查找 SSH 密钥
- 将 Patroni 流状态视为运行中的节点(回移植到 19-1-stable)
- [19.1] 添加适用于 3.3 和 3.4 的 Ruby regexp repeat-range 双重释放补丁
- [19.1] 添加适用于 3.3 和 3.4 的 Ruby regexp repeat-range 双重释放补丁
19.0.10
- 将预发布环境和生产环境的上传超时时间从 35m 增加到 60m
- [19.0] 添加适用于 3.3 和 3.4 的 Ruby regexp repeat-range 双重释放补丁
- [19.0] 添加适用于 3.3 和 3.4 的 Ruby regexp repeat-range 双重释放补丁
18.11.13
- 将预发布环境和生产环境的上传超时时间从 35m 增加到 60m
- Mattermost 安全更新:2026 年 8 月 13 日
- [18.11] 添加适用于 3.3 和 3.4 的 Ruby regexp repeat-range 双重释放补丁
- [18.11] 添加适用于 3.3 和 3.4 的 Ruby regexp repeat-range 双重释放补丁
升级的重要注意事项
此补丁包含可能影响您升级过程的数据库迁移。
对您安装环境的影响:
- 单节点实例:此补丁会导致升级期间停机,因为必须先完成迁移,GitLab 才能启动。
- 多节点实例:采用正确的 零停机升级流程,此补丁即可在不停机的情况下应用。
常规迁移
以下版本包含在升级过程中运行的常规迁移:
- 19.4.3
- 19.3.6
部署后迁移
以下版本包含可在升级后运行的部署后迁移:
- 19.4.3
要进一步了解升级对您安装环境的影响,请参阅:
更新
要更新 GitLab,请参阅 更新页面。 要更新 GitLab Runner,请参阅 更新 Runner 页面。
接收补丁通知
如需将补丁博客通知发送到您的收件箱,请访问我们的联系我们页面。 如需通过 RSS 接收发布通知,请订阅我们的补丁发布 RSS 源或所有发布的 RSS 源。
来源:Hacker News · docs.gitlab.com