On this page · 16 sections
- Newer Patches Set the Upgrade Target on Each Line
- Authentication and Membership Fixes Added on the 19.5.1 Page
- Cache, Header and Visibility Fixes on the 19.5.1 Page
- CI/CD Regex Overflow Allows Unauthenticated Code Execution
- Pipeline Authorization Gaps in Downstream and Scheduled Policies
- Syntax Highlighting and Cached Content Exposed to Other Users
- Read Access to Notes, Work Items and Epics
- Work Item Reads and the 19.3 Range Question
- Access Token Scope Gaps in Labels, Integrations and Imports
- Repository Import SSRF and Package Registry Permission Gaps
- GitLab Duo, Compliance Roles and Approvals on EE Only
- Pages Logs and Kubernetes Proxy Tokens Reach Unintended Parties
- Also in this release
- Upgrading Self-Managed GitLab: Migrations Set the Downtime
- Checking Self-Managed GitLab Versions Against the Affected Ranges
- Sources
Warning
Self-managed GitLab CE and EE installations on 19.2 before 19.2.8, 19.3 before 19.3.5 or 19.4 before 19.4.2 are affected by CVE-2026-97229, rated Critical. The CVE-2026-97229 record gives a CVSS 3.1 base score of 10 assigned by GitLab. Under certain conditions, an unauthenticated user could execute arbitrary code on the GitLab server through a specially crafted regular expression in a CI/CD configuration. CISA added CVE-2026-97229 to its Known Exploited Vulnerabilities catalog on 2026-10-29, as the same record states. Upgrade to the newest patch on your release line, as named in the GitLab 19.5.1 patch notes.
Newer Patches Set the Upgrade Target on Each Line #
On October 21, 2026, GitLab released 19.5.1, 19.4.3, 19.3.6, 19.2.9, 19.1.9, 19.0.10 and 18.11.13 for CE and EE. The 19.5.1 page recommends upgrading to one of these versions immediately. For the lines in this article, the newest patch it names is 19.2.9, 19.3.6, 19.4.3 or 19.5.1. The page does not list CVE-2026-97229, and the sources do not say whether those newer patches carry its fix, so the newest patch on your line is the target, not a fixed version from the 19.4.2 advisory alone.
The same page lists CVE-2026-110264, a separate integer overflow in the Regular Expression Compiler. Its advisory gives a CVSS 10.0 vector, and its record lists affected ranges from 7.0 and a CVSS 3.1 base score of 10 assigned by GitLab. GitLab backported that fix to 18.11.13, 19.0.10, 19.1.9 and 19.2.9. The record rates exploitation as none in CISA's SSVC assessment, while the CVE-2026-97229 record rates it active, so the two CVEs should be tracked separately.
Authentication and Membership Fixes Added on the 19.5.1 Page #
The 19.5.1 page adds fixes for 19.3.6 and 19.4.3 that affect sign-in and membership. CVE-2026-15723 is rated High, with CVSS 8.2 in the advisory. When OmniAuth SAML and LDAP auto-linking were both enabled, an authenticated user could take over an existing LDAP-backed account without the targeted user doing anything. The CVE-2026-15723 record gives the range from 10.1. CVE-2026-16255 is a Medium EE issue, with CVSS 5.9 in its record. It let an authenticated user grant or accept memberships after the instance-wide SAML or LDAP membership lock was enabled, for requests created before the lock.
Two more items on the page concern tokens and administrative locks. CVE-2026-12664 is Medium, with CVSS 6.8 in its record. A user with a read_api-scoped token could read a project's incoming email address and create work items, from 18.2. CVE-2026-103515 is Low, with CVSS 2.7 in the advisory, and is EE only. A group Owner could re-enable AI-backed data egress for a group that an instance administrator had locked. The lock controls for that Duo setting are the ones this change addresses.
Cache, Header and Visibility Fixes on the 19.5.1 Page #
CVE-2026-112212 is rated High, with CVSS 7.5 in the advisory. An unauthenticated user could poison a shared cache's OAuth/OIDC discovery document and redirect certain flows to an externally controlled server, with the range starting at 18.3. CVE-2026-105777 is Medium at CVSS 4.3, assigned by GitLab in its record. Improper filtering of internal response headers could expose internal server credentials from 17.6.5. Both fixes matter most on installations that sit behind a shared cache or that expose internal response paths.
The remaining items on the page are lower severity. CVE-2026-13319 is Medium, with CVSS 4.3 in its record, and let an authenticated user read milestone metadata from private projects through the group milestones API, from 15.10. CVE-2026-112378 is an EE Medium issue, at CVSS 4.3, that let users reach paid AI features without a valid subscription. CVE-2026-105711 is Low, at CVSS 3.5 in its record, and exposed a confidential issue title through a merge request. CVE-2026-14288 is an EE Low issue, at CVSS 3.1, that allowed bypass of a required approval policy. CVE-2026-112326 is an EE Low issue, that let read-only users delete vulnerability records.
CI/CD Regex Overflow Allows Unauthenticated Code Execution #
CVE-2026-97229 is an integer overflow in the CI/CD Regular Expression Compiler, classified as CWE-190 in its record. The advisory vector, CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H, means that no privileges are required and no user interaction is needed. The record also states that CISA's SSVC assessment on 2026-10-13 rates exploitation as active. An unauthenticated attacker can reach this flaw on every affected line, so installations in the ranges in the table below are in scope regardless of account state.
Pipeline Authorization Gaps in Downstream and Scheduled Policies #
CVE-2026-16301 is rated High in the advisory and affects 18.7 and later on the affected lines. An authenticated user with the Developer role could run CI/CD pipelines on protected branches without authorization, because the downstream pipeline creation service did not perform proper checks. The advisory gives CVSS 8.5. CVE-2026-81839 is an EE High issue, with CVSS 7.7 in the advisory, from 18.1. A user could run pipelines in a transferred project with the new group's privileges, because scheduled pipeline execution policy records were not cleaned up. Projects that have changed groups are the ones to review first.
Syntax Highlighting and Cached Content Exposed to Other Users #
CVE-2026-92883 is a High cross-site scripting issue in syntax highlighting. An authenticated user could run JavaScript in other users' browser sessions via a specially crafted repository, because HTML attributes in syntax-highlighted output were not sanitized. The record gives CVSS 8.7 assigned by GitLab, and the affected range includes 19.1 before 19.2.8. The sources do not say which 19.1 patch carries this fix.
CVE-2026-14814 is a High issue in repository file access, with CVSS 8.2 in the advisory. A user could poison cached responses for raw repository files, so targeted pipelines could run crafted content and expose protected environment variables. CVE-2026-100755 is Medium at CVSS 4.6 in the advisory. It let an authenticated user poison cached page content from 16.2, under certain deployment configurations, which limits exposure to installations with that cache setup.
Read Access to Notes, Work Items and Epics #
CVE-2026-16275 lets an unauthenticated user read confidential notes on public projects, from 17.4, at CVSS 5.3 in the advisory. CVE-2026-85529 exposes internal notes and confidential system notes on public projects through the GraphQL API, from 19.2, also at 5.3. Both are on the 19.2.8, 19.3.5 and 19.4.2 lines. The fixes make these notes unreadable without access, so projects that rely on public visibility should review what their notes contain.
CVE-2026-14552 lets an authenticated Guest read confidential epic content that external authorization is meant to restrict, from 17.0, at CVSS 4.3. CVE-2026-6567 lets an authenticated reporter reach restricted CI artifact report content through the merge request accessibility report comparison endpoint, from 13.8, also at 4.3.
Work Item Reads and the 19.3 Range Question #
CVE-2026-84284 lets an unauthenticated user read work item contents from private groups and projects, from 17.11, at CVSS 5.3. The 19.4.2 advisory lists all 19.3 versions as affected, which, read literally, includes 19.3.5. The provided material contains no CVE-2026-84284 record, so the 19.3.6 fixed version in your notes cannot be checked. The 19.5.1 page does not list the CVE either, which means 19.3 installations should be checked against the 19.4.2 advisory directly.
Access Token Scope Gaps in Labels, Integrations and Imports #
Three fixes concern fine-grained personal access tokens. CVE-2026-14210 lets a project-scoped token permanently delete or modify group-level labels, from 18.11, at CVSS 4.3. CVE-2026-78335 lets a project-scoped token modify integrations belonging to a group outside its scope, from 19.1, at CVSS 4.2. CVE-2026-82632 lets a token scoped only to user-boundary import permissions import projects into group namespaces, from 18.9, at CVSS 3.1 in the advisory, which rates it Low. Group owners who issue project-scoped tokens should review the scope of tokens already in use.
Repository Import SSRF and Package Registry Permission Gaps #
CVE-2026-100104 is a server-side request forgery in repository import, from 10.3, caused by a time-of-check to time-of-use race in URL validation. The advisory gives CVSS 3.5. CVE-2026-5954 lets a user download package files from a public project, from 15.1, at CVSS 4.2. CVE-2026-103549 lets an authenticated maintainer remove package registry metadata that package protection rules reserve for higher roles, from 17.6, at CVSS 2.7. Projects that use package protection rules should check whether those rules still hold.
GitLab Duo, Compliance Roles and Approvals on EE Only #
The fixes in this group apply to GitLab EE only. CVE-2026-96893 is a High prompt-injection issue in GitLab Duo Agent Platform, from 19.1, with CVSS 7.3 in the advisory. An authenticated user could inject crafted content into AI agent instructions, causing command execution attributed to other users. CVE-2026-105458 is Medium, at CVSS 4.3, and lets a user holding a specific granular permission obtain a Duo Agent Platform token that bypasses governance controls, from 19.1.
CVE-2026-104661 is Medium at CVSS 4.3, and lets a custom role with compliance framework administration permissions configure and run a crafted compliance pipeline across group projects, from 17.0. CVE-2026-92528 is Medium at CVSS 4.2, and lets a user approve a merge request despite having contributed commits to it, from 16.11. CVE-2026-9268 is Low at CVSS 2.7, and lets a user with limited permissions change project CI/CD deployment rollback settings, from 13.6.
Pages Logs and Kubernetes Proxy Tokens Reach Unintended Parties #
CVE-2026-101168 is a Medium exposure in GitLab Pages, with CVSS 6.2 in the advisory. An authenticated user with access to Pages log data could obtain access tokens and other secrets, because sensitive request data was written to log files and error tracking events. The range starts at 12.0. CVE-2026-7767 is a Medium open redirect in the Kubernetes proxy, with CVSS 5.8 in the advisory. An authenticated user controlling a Kubernetes agent could cause sensitive authentication tokens to be sent to an unintended server, from 13.11. Both fixes apply to CE and EE.
| Release line | Affected by CVE-2026-97229 | Fixed in the 19.4.2 advisory | Newest patch named on the 19.5.1 page |
|---|---|---|---|
| 19.2 | 19.2 before 19.2.8 | 19.2.8 | 19.2.9 |
| 19.3 | 19.3 before 19.3.5 | 19.3.5 | 19.3.6 |
| 19.4 | 19.4 before 19.4.2 | 19.4.2 | 19.4.3 |
| 19.5 | Not in the CVE-2026-97229 range | Not listed | 19.5.1 |
Also in this release #
- 19.4.2: Install tzdata and tzdata-legacy in gitlab-base; backports include GHES rate-limit handling for imports, signing of chat agent requests, and coverage delta timeouts in the MR widget.
- 19.3.5: Bump ElasticSearch version; application setting to block JWT for reclaimed project paths; fix for the 19.3.4 bug affecting merge request pages when the Ona integration was enabled.
- 19.2.8, 19.3.5, 19.4.2: Verify legacy uploads on Geo secondaries by reading the file; truncate Jira issue keys at the per-entity API limit.
- 19.2.8, 19.3.5, 19.4.2: Tolerate malformed Content-Range in HttpIO; update gitlab-fog-azure-rm to v2.5.2; fix file tree links and file tree search missing the relative URL root.
- 19.4.3: Add siphon-tables image bundling Siphon CDC table definitions.
- 19.0.10 and 18.11.13: Increase staging and production upload timeout from 35m to 60m.
- 19.5.1 page: Ruby regexp repeat ID overflow and repeat-range double-free patches for Ruby 3.3, 3.4 and 4.0; gitlab-markup 2.2.0 and rdoc 8.1.0 update.
The 19.5.1 page lists further backports for each line, and its release notes hold the complete list.
Upgrading Self-Managed GitLab: Migrations Set the Downtime #
The 19.4.2 patch includes database migrations, and single-node instances will have downtime, because migrations must complete before GitLab can start. Multi-node instances can apply the patch without downtime when they follow the zero-downtime upgrade procedure. Work through these steps in order.
- Find your release line in the table and upgrade to the newest patch it names: 19.2.9, 19.3.6, 19.4.3 or 19.5.1. Use the Update page for GitLab and the Updating the Runner page for GitLab Runner.
- Plan for migrations. The 19.5.1 page lists regular migrations in 19.4.3 and 19.3.6, and post-deploy migrations in 19.4.3. The 19.4.2 page lists post-deploy migrations in 19.3.5.
- Choose the zero-downtime upgrade procedure for multi-node deployments, or the standard upgrade for single-node installations.
- Identify your edition. Six fixes in the 19.4.2 advisory are EE only, namely CVE-2026-81839, CVE-2026-96893, CVE-2026-105458, CVE-2026-104661, CVE-2026-92528 and CVE-2026-9268. Five fixes on the 19.5.1 page are EE only, namely CVE-2026-16255, CVE-2026-112378, CVE-2026-14288, CVE-2026-112326 and CVE-2026-103515.
- Check 19.3 installations against the 19.4.2 advisory before relying on 19.3.5.
Checking Self-Managed GitLab Versions Against the Affected Ranges #
An installation is in scope when its version falls inside the affected range of a CVE and is below the fixed release on its line. When the advisory names no deployment type, such as Omnibus, source code or Helm chart, all types are affected. Compare your installation's version with the table above. GitLab Dedicated tenants running 19.3.5-internal0 and 19.4.2-internal0 or later already include these fixes, according to the 19.5.1 page.
GitLab security released six threat detections for self-managed instances, listed in the 19.4.2 advisory by name:
- Onigmo native worker crash
- Graphql cilint hostile regexp
- ci regexp oversized non ascii path
- ci regexp guard rejection
- ci lint workhorse worker crash
- ci lint scripted client error burst
The detection names point to regular expression and CI lint paths. This suggests they relate to CVE-2026-97229, but the advisory gives no further detail on them.
Sources
- GitLab Critical Patch Release: 19.5.1, 19.4.3, 19.3.6, 19.2.9, 19.1.9, 19.0.10, 18.11.13 | GitLab Docs docs.gitlab.com · Oct 21, 2026
- CVE-2026-97229: Integer Overflow or Wraparound in GitLab cve.org · Oct 13, 2026
- CVE-2026-92883: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') in GitLab cve.org · Oct 13, 2026
- CVE-2026-110264: Integer Overflow or Wraparound in GitLab cve.org · Oct 22, 2026
- CVE-2026-15723: Improper Neutralization of Special Elements used in an LDAP Query ('LDAP Injection') in GitLab cve.org · Oct 21, 2026
- CVE-2026-12664: Incorrect Authorization in GitLab cve.org · Oct 21, 2026
- CVE-2026-16255: Incorrect Authorization in GitLab cve.org · Oct 21, 2026
- CVE-2026-105777: Insertion of Sensitive Information Into Sent Data in GitLab cve.org · Oct 21, 2026
- CVE-2026-13319: Authorization Bypass Through User-Controlled Key in GitLab cve.org · Oct 21, 2026
- CVE-2026-105711: Use of Cache Containing Sensitive Information in GitLab cve.org · Oct 21, 2026
Also consulted
- GitLab Critical Patch Release: 19.4.2, 19.3.5, 19.2.8 | GitLab Docs docs.gitlab.com · Oct 12, 2026
- CVE-2026-112212: Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling') in GitLab cve.org · Oct 21, 2026
- CVE-2026-112378: Use of Less Trusted Source in GitLab cve.org · Oct 21, 2026
- CVE-2026-14288: Use of Incorrectly-Resolved Name or Reference in GitLab cve.org · Oct 21, 2026
Edited and approved by Jarosław Krzemiński. Spotted a mistake? Report a correction or read the corrections policy.




Comments