GitLab CVE-2026-97229: the flaw under attack, who it affects and which version to install
If your company runs GitLab on its own server, this is for today. CISA has added the flaw to its known exploited vulnerabilities catalog, a proof of concept is public, and a second patch has come out that many teams may not have installed.
What happened, in short
- The flaw: CVE-2026-97229, rated 10 out of 10 by GitLab. It affects GitLab CE and EE and could let an unauthenticated user run code on the server.
- The first patch: released on October 12, 2026 in versions 19.4.2, 19.3.5 and 19.2.8.
- The second patch: released on October 21 for CVE-2026-110264, also rated 10, which affects versions from 7.0 onward. Anyone who stopped at the October 12 patch is still exposed to this one.
- Real attempts have been reported: Alpine Linux reported attempts against its instance on October 20 and 21, plus blocked retries on October 25 and 26. CISA added the flaw to its catalog on October 29.
- GitLab.com and GitLab Dedicated: no action needed. This is for self-managed installations.
Fixed versions
| Branch | Update to |
|---|---|
| GitLab 19.5 | 19.5.1 |
| GitLab 19.4 | 19.4.3 |
| GitLab 19.3 | 19.3.6 |
| GitLab 19.2 | 19.2.9 |
| GitLab 19.1 | 19.1.9 |
| GitLab 19.0 | 19.0.10 |
| GitLab 18.11 | 18.11.13 |
| Branches older than 18.11 | No patch published: move to a fixed branch |
These are the October 21 versions, which cover both flaws. Any later version of the same branch works too. If you are on an old branch, follow GitLab’s required upgrade stops and plan a window: some upgrades migrate the database and can cause downtime on single-node installations.
Is my GitLab exposed?
If it is self-managed and not on a version from the table, you need to update. What changes is the urgency:
- Top urgency: reachable from the internet, with public projects and open sign-up. Rapid7 explains that the attack it demonstrated needs the ability to push changes to a public project, and that open sign-up all but removes that barrier.
- High urgency: reachable from the internet, even with sign-up closed. A contractor or former employee account that is still active may be enough.
- Lower urgency, but still update: only reachable through a VPN or internal network. Restricting access reduces exposure but does not remove the flaw.
How to check, depending on where it runs
- Web console: sign in as an administrator, open the Admin area and read the version on the main dashboard.
- Server with the official package (EC2 or VPS): run
sudo gitlab-rake gitlab:env:infoand compare with the table. - Containers (Docker, ECS, EKS): check the tag of the image that is actually running, not the one in your deployment file.
- The ones nobody remembers: test servers, installations run by a team or a vendor, and old copies. Look through every AWS account and region before closing the issue.
What to do, in order
- 1. Update to a version from the table. GitLab did not publish a workaround for CVE-2026-97229, so this is the fix.
- 2. If you cannot update today, limit access with the security group to your VPN or office, turn off open sign-up and stop untrusted users from creating or writing to public projects. This lowers the risk but does not fix it.
- 3. Look for signs of intrusion: unexpected child processes of Puma, new files owned by the git user in /tmp, and changes to that user’s crontabs or SSH keys. GitLab has also published detections for this flaw.
- 4. If you find something, rotate the contents of gitlab-secrets.json, CI/CD variables, and runner and access tokens, and review pipelines and repositories for changes.
If your GitLab deploys to AWS
The risk does not end at the server. CI/CD variables, runner tokens and deploy keys often lead to production. Three things to check:
- AWS keys in CI/CD variables. If your server was exposed without the patch, treat them as compromised: rotate them and review their use in CloudTrail.
- What those keys can do. A deploy key should not be able to administer the whole account.
- Long-lived keys. GitLab can assume AWS roles with OIDC and temporary credentials, with no fixed keys stored.
Frequently asked questions
What is CVE-2026-97229?
It is a flaw in GitLab CE and EE, rated 10 out of 10, in the regular expression compiler. It could let an unauthenticated user run code on the server. GitLab fixed it on October 12, 2026.
Is the October 12 patch enough?
No. On October 21 GitLab fixed CVE-2026-110264, also rated 10. The versions that cover both are 19.5.1, 19.4.3, 19.3.6, 19.2.9, 19.1.9, 19.0.10 and 18.11.13.
Does it affect me if I use GitLab.com?
No. GitLab.com is already patched and GitLab Dedicated needs no action.
Is it being exploited?
CISA added it to its known exploited vulnerabilities catalog on October 29, 2026. Alpine Linux reported attempts against its instance with no evidence of success, though it could not fully rule it out and rebuilt the server. Rapid7 has also published a proof of concept.
If you run GitLab or other servers on AWS and want to know what is open to the internet and how far leaked keys could go, we review your account in 48 hours, with read-only access and at no cost.
Request the free reviewSources
- GitLab: patch release 19.4.2 ↗
- GitLab: patch release 19.5.1 ↗
- The Hacker News: CISA adds the flaw to its catalog ↗
- Rapid7: analysis of CVE-2026-97229 ↗
- Censys: CVE-2026-97229 advisory ↗
- CISO Platform: detection and response ↗
Information verified on November 2, 2026.