GitLab patches CVSS 10.0 unauthenticated RCE in CI/CD regex compiler (CVE-2026-97229)
CVE-2026-97229 lets an unauthenticated user run arbitrary code on a GitLab server via a crafted CI/CD regular expression. Fixes are in 19.4.2, 19.3.4, and 19.2.8.
GitLab has patched CVE-2026-97229, a CVSS 10.0 flaw that lets an unauthenticated attacker run arbitrary code on a self-managed GitLab server. The fix shipped in the 19.4.2 / 19.3.4 / 19.2.8 patch release; CERT-FR echoed it the same day in CERTFR-2026-AVI-1294.
What the bug does
GitLab's advisory titles it an "Integer Overflow issue in CI/CD Regular Expression Compiler." Per the bulletin, the flaw "could have allowed an unauthenticated user to execute arbitrary code on the GitLab server" through "a specially crafted regular expression in a CI/CD configuration," "due to insufficient regular expression validation."
The CVSS vector is CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H — network vector, no privileges, no user interaction, scope-changed. That combination is why it reaches the 10.0 ceiling: a request to the CI/CD parsing path alone is enough, no account required.
Affected versions
GitLab Community Edition and Enterprise Edition:
>= 19.2 < 19.2.8>= 19.3 < 19.3.4>= 19.4 < 19.4.2
Fixed in 19.2.8, 19.3.4, and 19.4.2. GitLab.com and GitLab Dedicated are already patched; the exposure is on self-managed instances.
Exploitation status
No in-the-wild exploitation has been reported and there is no public PoC at the time of writing. The flaw was reported through GitLab's HackerOne bug bounty program by a researcher using the handle joaxcar. GitLab's standard practice is to withhold exploitation detail during the disclosure window, so the absence of a PoC is not a reason to defer the patch on an internet-reachable instance.
Action checklist
- Upgrade to 19.4.2, 19.3.4, or 19.2.8, matching your branch. This is a same-day job for any self-managed instance reachable from the internet.
- Prioritize instances that accept untrusted CI/CD input — public projects, open registration, or any flow where an outsider can influence pipeline configuration.
- If you cannot patch immediately, put the web front end behind authentication or an allowlist and restrict who can submit pipeline configurations.
- Review access and job logs on exposed instances for unexpected command execution or runner activity since the release.
Context
This is the second critical RCE in GitLab's CI/CD stack flagged this month, after CVE-2026-90970 in the self-hosted AI Gateway — but the two differ in the detail that decides urgency. The AI Gateway bug needed an authenticated Duo user; this one needs no account at all. The CI/CD regex compiler is turning into a recurring soft spot: it parses attacker-influenced configuration on a server that holds source, secrets, and deploy keys, and it is being hardened release by release. Treat the parser path as hostile input and keep the patch cadence tight.