
ArmelDevTwo critical flaws (CVSS 10.0) in GitLab's regular expression engine allow code execution on the server. Their timeline, and the steps to update and secure your instances.
On October 21, 2026, GitLab released emergency versions 19.5.1, 19.4.3, 19.3.6, 19.2.9, 19.1.9, 19.0.10 and 18.11.13. They fix CVE-2026-110264, a critical flaw rated 10.0, the maximum score, which can allow an unauthenticated attacker to execute code on a GitLab server. It is the second flaw of this kind in ten days. Here is what happened, and what to do.
Both flaws share the same nature: an integer overflow when compiling a specially crafted regular expression. The component at fault is Onigmo, Ruby's regular expression engine, which GitLab ships in its packages.
.gitlab-ci.yml file. It affects versions 19.2 and later..org ) file, whose rendering passes an expression to the engine.In both cases, the code runs as GitLab's git system account, which has access to repositories, CI/CD secrets and the instance configuration.
GitLab.com is already patched and GitLab Dedicated customers have nothing to do. Self-managed instances, Community and Enterprise alike, must be updated.
| Branch | Fixed version |
|---|---|
| 19.5 | 19.5.1 |
| 19.4 | 19.4.3 |
| 19.3 | 19.3.6 |
| 19.2 | 19.2.9 |
| 19.1 | 19.1.9 |
| 19.0 | 19.0.10 |
| 7.0 to 18.11 | 18.11.13 |
Important: the versions released on October 12 (19.4.2, 19.3.5 and 19.2.8) fix the first flaw, but not the second. An instance updated on that date is vulnerable again.
The fixes for 19.2, 19.1, 19.0 and 18.11 are exceptional backports, outside GitLab's usual policy. That alone shows how serious the problem is.
The October 21 release fixes eleven flaws in total. Two of them, rated high, deserve special attention:
These flaws are fixed by the same versions: a single update takes care of everything.
| Date | Event |
|---|---|
| 2014 | GitLab 7.0 is released. According to the October 21 advisory, every version since then is affected by CVE-2026-110264. |
| September 23, 2026 | GitLab fixes two other critical flaws (CVE-2026-93577 and CVE-2026-89078, CVSS 9.9), exploitable with an authenticated account. According to The Hacker News, researcher joaxcar reported four code execution flaws in GitLab's regular expression engine within a month. |
| October 12, 2026 | CVE-2026-97229 (CVSS 10.0) is fixed in versions 19.4.2, 19.3.5 and 19.2.8. |
| October 13, 2026 | Rapid7 reproduces code execution on the official GitLab CE 19.4.1 image. |
| October 16, 2026 | Researcher Jonah Burgess publishes a proof-of-concept exploit for CVE-2026-97229. Being able to push a branch to a public project on the instance is enough. |
| October 20, 2026 | GitLab publishes two detection rules: "Onigmo native worker crash" and "Org mode render error burst". |
| October 21, 2026 | CVE-2026-110264 (CVSS 10.0) is fixed. It was reported by joaxcar through the HackerOne bug bounty program, and the fix is backported down to the 18.11 branch. The same update fixes ten other flaws, including CVE-2026-15723 (8.2) and CVE-2026-112212 (7.5). |
| October 21, after the release | GitLab reports no exploitation in the wild. CISA has not added the flaw to its catalog of exploited vulnerabilities. |
A public exploit already exists for the first flaw, and both share the same root cause. Assume that exposed instances will be targeted.
GitLab offers no workaround for CVE-2026-110264. Example for an Omnibus installation on Debian/Ubuntu (replace gitlab-ee with gitlab-ce depending on your edition):
sudo gitlab-rake gitlab:env:info | grep -A2 "GitLab information"
sudo gitlab-backup create
sudo cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab-secrets.json /root/
The backup does not include gitlab.rb or gitlab-secrets.json: copy them separately.
sudo apt-get update
sudo apt-get install gitlab-ee
If your instance is several versions behind, follow GitLab's official upgrade path rather than jumping straight to the latest version.
docker pull gitlab/gitlab-ee:19.5.1-ee.0
docker compose up -d
Adjust the tag to your branch and edition.
sudo gitlab-rake gitlab:env:info | grep -A2 "GitLab information"
sudo gitlab-ctl status
Plan ahead: on a single-node server, versions 19.4.3 and 19.3.6 include database migrations that make GitLab unavailable during the operation. Multi-node installations can follow the zero-downtime upgrade procedure.
These measures reduce the attack surface, but do not fix the flaws.
.org files are red flags. The two detection rules published by GitLab target exactly these cases.git account, recent files in GitLab directories, recently created accounts or access tokens, abnormal outbound connections.As with PHP2Shell the same week, the defect does not come from business code, but from a core component everyone uses without thinking about it: here, Ruby's regular expression engine. A flaw in such a deep building block can stay hidden for years, then hit every version of a product at once.
If you updated GitLab on October 12, do it again today. And ask yourself one question: do you know exactly how many GitLab instances run in your organization?
Sources: GitLab – October 21 advisory · The Hacker News · Rapid7 · Help Net Security · Cyber Security News · HOL