CRIME SCENEDO NOT FLUSHCRIME SCENEDO NOT FLUSHCRIME SCENEDO NOT FLUSHCRIME SCENEDO NOT FLUSHCRIME SCENEDO NOT FLUSHCRIME SCENEDO NOT FLUSH
L4 · Septic Tank BlewGitLab · RCE · self-managed·gitlab-regex-rce
GitLab: two perfect 10s, one regex engine, nine days apart
GitLab patches its second CVSS 10.0 regex-compiler RCE in nine days, and this one reaches back to GitLab 7.0
CVE-2026-110264 (CVSS 10.0) is an integer overflow in the Onigmo regex compiler that lets an unauthenticated user run code on self-managed GitLab, from 7.0 onwards. It lands nine days after CVE-2026-97229, a sibling bug that already has a public PoC. Servers patched on Oct 12 are still exposed.
Disclosed
Oct 21, 2026
Public disclosure date
Severity
CVSS 10 × 2
2 CVEs tracked here
Splash zone
Every self-managed GitLab CE/EE from 7.0 up; GitLab.com and Dedicated are already patched
gitlab · ruby
In the wild
Not seen
No exploitation reported; the Oct 12 sibling has a public PoC
The one-sentence version
Feed GitLab a regular expression shaped just wrong and the engine's size maths wraps around, so it builds instructions that run the attacker's commands as the git user.
What happened
GitLab runs user-supplied regular expressions in many places: CI rules, code owners, push rules, markup
rendering. It compiles them with Onigmo, the regex engine behind Ruby, which GitLab ships and patches in
its own packages. Twice this month, researchers found a spot where Onigmo’s size calculation overflows,
so the compiler emits broken bytecode that an attacker can turn into code execution as the git user.
Oct 12, CVE-2026-97229: reached through a crafted .gitlab-ci.yml on GitLab 19.2–19.4. Rapid7
published a working PoC the next day. The vendor calls it unauthenticated. In practice the attacker needs
to commit to a public project, which is trivial if your instance allows open sign-up.
Oct 21, CVE-2026-110264: a different overflow in the same compiler that reaches back to GitLab 7.0
(2014). GitLab has not said which conditions an attacker needs, so you can’t configure your way out.
If you patched on Oct 12, you still need this upgrade.
Why L4
Both bugs are CVSS 10.0, unauthenticated, in a core developer platform, and one sibling has a public PoC.
That is close to L5. We held at L4 because GitLab.com and Dedicated were patched before disclosure, nobody
has reported exploitation of either bug, and CISA had not added them to KEV as of Oct 22. If exploitation
shows up, this goes to L5. Send a PR.
What’s in the bowl
CVE-2026-110264CVSS 10
Integer overflow in regex compilation
Fixed Oct 21. An unauthenticated user can run code on the server "under certain conditions" that GitLab has not described. Affects 7.0 onwards. Reported by joaxcar via HackerOne.
In plain poop: the plumbing counted the pipes wrong, and now there's a pipe straight into the server room.
CVE-2026-97229CVSS 10
Integer overflow in the CI/CD regex compiler
Fixed Oct 12 in 19.2.8 / 19.3.5 / 19.4.2. A crafted regex in .gitlab-ci.yml passes validation as US-ASCII, then overflows when Onigmo recompiles it for UTF-8. Rapid7 reproduced it and published a PoC; it needs commit access to a public project, which open sign-up gives anyone.
Are you standing in it?
Run sudo gitlab-rake gitlab:env:info | grep -i version on each box, then type the version or pick the closest match.
Fixed versions (Oct 21, 2026)
Branch
Safe from
Status
GitLab 19.5
19.5.1
GitLab 19.4
19.4.3
Includes DB migrations
GitLab 19.3
19.3.6
Includes DB migrations
GitLab 19.2
19.2.9
Backport (critical fix only)
GitLab 19.1
19.1.9
Backport (critical fix only)
GitLab 19.0
19.0.10
Backport (critical fix only)
GitLab 7.0 – 18.11
18.11.13
Backport. Anything older: upgrade to 18.11.13 or later
Crime-scene timeline
Sep 23, 2026
GitLab fixes two 9.9 code-execution bugs that need a login
CVE-2026-93577 and CVE-2026-89078.
Oct 2, 2026
Self-hosted AI Gateway gets a 9.9 template-sandbox escape
CVE-2026-90970, fixed in gateway 19.2.4 / 19.3.2 / 19.4.1. Same month, different component.
Oct 12, 2026
CVE-2026-97229 fixed in 19.2.8, 19.3.5 and 19.4.2
Oct 13, 2026
Rapid7 reproduces CVE-2026-97229 and publishes a PoC
Oct 21, 2026
CVE-2026-110264 fixed in seven release lines, plus 11 other security fixes
GitLab says 12 issues in total; some press says 11. Also fixed: CVE-2026-15723 (8.2, SAML/LDAP auto-link account takeover) and CVE-2026-112212 (7.5, OAuth/OIDC discovery cache poisoning).
Who said what
We list each claim and who made it. Primary sources (the vendor, the researcher, the registry) are marked. Where reports disagree, we grade by the worst credible case.
GitLab patch release 19.5.1PrimaryCVE-2026-110264 critical 10.0 on CE and EE, affects 7.0 onwards, 12 fixes in total, no workaround