CISA added the maximum-severity GitLab flaw CVE-2026-97229 to its Known Exploited Vulnerabilities catalog on 29 October 2026, and Alpine Linux has now described what that looks like from the inside: attackers tried to exploit its GitLab server nine days after the fix shipped, and an upgrade it believed was sufficient had not closed the hole. According to BleepingComputer's report on Alpine's incident post, Alpine could not rule out code execution, so it rebuilt the server from scratch and reset every password.
CVE-2026-97229 is an integer overflow in the regular expression compiler that GitLab's CI/CD uses to evaluate expressions in pipeline configuration files. A remote, unauthenticated attacker can supply a crafted expression and run arbitrary code on the GitLab server. As BleepingComputer reported on the CISA listing, GitLab fixed it in versions 19.4.2, 19.3.5 and 19.2.8, says it has detected exploitation attempts, and has released detections for self-managed customers. Shadowserver tracks nearly 2,800 internet-exposed GitLab Community Edition instances.
It is the latest in a run of GitLab problems. We covered a critical flaw in the GitLab AI Gateway earlier this month, and the same BleepingComputer report notes a separate maximum-severity regular expression compiler bug (CVE-2026-110264) fixed in October, plus a path traversal bug (CVE-2026-85706) that can expose credentials and secrets and is also on the KEV list.
Alpine's account is useful because it is specific about how a careful team ended up exposed.
Alpine found no tampering in commits, packages or releases up to 27 October, and says its signing keys are not stored on the GitLab server. But logs were missing and there were no outbound connection records, so it could not rule out code execution. Data that may have been exposed, with no compromise confirmed, includes user details and password hashes, 2FA secrets, CI/CD secrets and integration credentials, and private project content. The fixed image, alpinelinux/gitlab:19.3.6, was published on 27 October and includes Ruby 3.3.13.
The common check, "are we on or above the fixed release?", would have given Alpine a wrong answer twice. Three practical points follow.
If you ran a vulnerable GitLab between disclosure and a full fix, the conservative response is Alpine's: rotate CI/CD secrets and integration credentials, reset passwords and 2FA secrets, and review pipeline configurations for unexpected regular expressions.
Before you can verify a patch, you have to know the server exists. Obiguard Scout is our external attack surface product: it maps the hosts your organisation exposes to the internet, including developer tooling such as GitLab, CI runners and package registries that teams often stand up outside the normal asset process, and it records the software and versions it observes. For a flaw like CVE-2026-97229, that gives you the list of public GitLab hosts to check first, and a baseline to compare against when a second advisory follows the first. Scout sees what is visible from outside; confirming the runtime inside a container image still needs your own build records. You can start with a free Scout check on any domain you own to see which hosts are already published under it.
Obiguard sits in front of every AI request your organization makes — screening prompts and outputs against the guardrails, compliance frameworks, and audit trails that stories like this one make necessary.
See how it works →