CISA lists GitLab flaw CVE-2026-97229 as exploited after a near-miss attack on Alpine Linux, whose patched server stayed exposed via Ruby.
The U.S. Cybersecurity and Infrastructure Security Agency (CISA) has added CVE-2026-97229, a maximum-severity GitLab vulnerability, to its Known Exploited Vulnerabilities (KEV) catalog. The listing follows a disclosure by the Alpine Linux project on 28 October 2026. Alpine said an unknown attacker spent several days in October trying to use the flaw against the project's own GitLab server. Alpine found no proof that the attack worked. It still rebuilt the server from scratch, because it could not rule out a break-in, and because it found that its earlier GitLab upgrade had not closed the hole.
The sequence below is based on Alpine Linux's account as reported by The Hacker News, with SecurityWeek also covering the incident.
CISA then added the flaw to KEV alongside an unrelated Cisco bug, CVE-2026-76418 (CVSS 8.6). That Cisco flaw is a denial-of-service issue in Secure Firewall ASA and FTD software, which Cisco says has been actively exploited this month.
According to the verified CVE record, the flaw affects GitLab Community Edition and Enterprise Edition in these versions:
There is an important catch. GitLab's fix works by patching the copy of Ruby that GitLab bundles in its official Linux packages and container images. Ruby is the programming language GitLab is built on. If you run GitLab on your own Ruby, for example by building from source or using a custom container image, upgrading GitLab does not change that Ruby. Your server stays vulnerable until Ruby itself is updated. Alpine's image used standard Ruby, which is why the 19.3.6 upgrade did not protect it.
Users of Alpine's alpinelinux/gitlab image are told to pull 19.3.6 again to get a corrected build.
For Alpine's own users, the project said its software supply chain appears intact. The project's aports repository, which Alpine's packages are built from, lives on the affected server. Alpine said every package built between 20 and 24 October, and the 21 October releases, came from aports changes that it verified against records outside GitLab. Those releases include the minirootfs files used to build official Alpine Docker images. Alpine is extending these checks to 27 October. It also noted that its package and release signing keys have never been stored on the GitLab server.
GitLab lets users define automated build and test pipelines, known as CI/CD, in configuration files. These files can contain regular expressions, which are compact patterns used to match text. GitLab compiles those patterns using Onigmo, the regular expression engine built into Ruby.
The bug sits inside Onigmo and is classed as CWE-190, an integer overflow or wraparound. This happens when a number grows larger than the space reserved for it and "wraps around" to an unexpected value, which can corrupt memory. According to the CVE description, insufficient validation of regular expressions means a carefully crafted pattern could let an unauthenticated attacker run arbitrary code on the GitLab server.
Alpine's experience shows that failed attempts can crash worker processes. However, Alpine warned that a successful exploit would leave no crash and no trace in the web logs. That makes after-the-fact detection difficult.
The flaw carries a CVSS score of 10.0, the highest rating possible. It allows remote code execution without logging in, and CISA's KEV catalog lists it as known to be exploited. CISA has recommended that U.S. Federal Civilian Executive Branch agencies apply fixes by 1 November 2026.
The coverage frames the outcome slightly differently. The Hacker News's KEV report describes the attempt against Alpine as unsuccessful. SecurityWeek's headline says the flaw was "exploited against" Alpine. Alpine's own position is in between. It found no evidence of success: timing probes showed no delays, it found no unexpected files, keys, hooks or processes, and it saw no private data leave through web or API requests. But it cannot be certain. Some logs from the attack day are gone, including background job logs and the old container's filesystem. Neither Alpine nor its hosting provider recorded outbound network connections.
If the attack did succeed, Alpine said these could have been exposed:
For GitLab administrators:
alpinelinux/gitlab image, pull 19.3.6 again.For Alpine and gitlab.alpinelinux.org users:
ITVedas analysis: The most useful lesson here is not the CVSS score. It is that a fix shipped inside a vendor's bundled dependencies can quietly skip anyone who supplies those dependencies themselves. Alpine deserves credit for a candid disclosure and a cautious rebuild. Every team running GitLab on its own Ruby should check that Ruby version today.
Want to understand the technology behind this story? ITVedas has beginner-friendly guides on every IT topic.
Explore IT Chapters →