CVE-2026-97229 Overview
CVE-2026-97229 is a critical remote code execution vulnerability in GitLab Community Edition (CE) and Enterprise Edition (EE). The flaw allows an unauthenticated attacker to execute arbitrary code on the GitLab server through a specially crafted regular expression inside a CI/CD configuration. The root cause is insufficient regular expression validation in the CI/CD pipeline processing logic. GitLab issued patches across the 19.2, 19.3, and 19.4 release branches.
Critical Impact
Unauthenticated attackers can achieve arbitrary code execution on the GitLab server, leading to full compromise of source code, CI/CD secrets, and downstream build infrastructure.
Affected Products
- GitLab CE/EE versions 19.2 before 19.2.8
- GitLab CE/EE versions 19.3 before 19.3.5
- GitLab CE/EE versions 19.4 before 19.4.2
Discovery Timeline
- 2026-10-13 - CVE-2026-97229 published to NVD
- 2026-10-14 - Last updated in NVD database
Technical Details for CVE-2026-97229
Vulnerability Analysis
The vulnerability resides in GitLab's CI/CD configuration parser, which accepts user-supplied regular expressions without adequate validation. An attacker can submit a specially crafted regex that triggers unsafe behavior during pipeline evaluation. GitLab classifies the issue under [CWE-190] (Integer Overflow or Wraparound), suggesting the regex processing path contains an arithmetic condition that overflows and corrupts control flow. The outcome is arbitrary code execution in the context of the GitLab server process. Because the attack vector is network-based and requires no authentication or user interaction, any internet-reachable GitLab instance running an affected version is exposed.
Root Cause
GitLab's CI/CD configuration layer performs insufficient regular expression validation before compiling or evaluating the pattern. Combined with an integer overflow condition in the handling code, a malicious pattern can push the regex engine into an unsafe state that attackers leverage for code execution. The vulnerable logic executes before authentication checks are applied to the specific request path.
Attack Vector
An unauthenticated attacker submits a crafted CI/CD configuration containing a weaponized regular expression to the GitLab server. The server parses and processes the regex, triggering the overflow and executing attacker-controlled code. No credentials, tokens, or prior access to a project are required. See GitLab Work Item #630686 and the associated HackerOne Report #4055749 for additional context.
No verified public exploit code is available at the time of writing. See the GitLab Patch Release 19.4.2 advisory for official remediation details.
Stop Remote Code Execution Before It Runs
Singularity™ Endpoint detects and blocks exploit attempts at machine speed, including zero-days and novel attack techniques.
Stop Exploit AttemptsDetection Methods for CVE-2026-97229
Indicators of Compromise
- Unexpected child processes spawned by the GitLab Rails or Sidekiq workers, especially shells (sh, bash) or interpreters (ruby -e, python -c).
- Outbound network connections from the GitLab server to unfamiliar hosts shortly after inbound requests to CI/CD-related endpoints.
- Anomalous .gitlab-ci.yml submissions containing unusually long or deeply nested regular expression patterns.
- New or modified SSH keys, personal access tokens, or runner registration tokens that cannot be attributed to legitimate administrative activity.
Detection Strategies
- Review GitLab production logs (production.log, api_json.log) for anomalous POST requests referencing CI/CD configuration endpoints from unauthenticated sessions.
- Alert on GitLab worker processes writing to or executing files outside expected paths such as /var/opt/gitlab or the Rails application root.
- Correlate web requests containing complex regex payloads with subsequent process-execution telemetry on the host.
Monitoring Recommendations
- Enable and centralize audit logs from GitLab, the host OS, and the reverse proxy fronting the instance.
- Monitor runner infrastructure for unexpected job submissions or runner registrations following suspicious activity.
- Track egress traffic from the GitLab server and alert on connections to non-approved destinations.
How to Mitigate CVE-2026-97229
Immediate Actions Required
- Upgrade GitLab CE/EE to 19.2.8, 19.3.5, or 19.4.2 or later, matching your current release branch.
- Restrict network exposure of the GitLab web interface to trusted networks or a VPN until the patch is applied.
- Rotate CI/CD secrets, runner registration tokens, personal access tokens, and deploy keys if compromise is suspected.
- Audit recent CI/CD configuration submissions and pipeline job history for anomalous activity.
Patch Information
GitLab released fixes in versions 19.2.8, 19.3.5, and 19.4.2. Full details are available in the GitLab Patch Release 19.4.2 advisory. Administrators running self-managed instances should apply the patch for their installed major.minor branch without delay.
Workarounds
- No vendor-supplied workaround is documented; upgrading is the required remediation.
- Place the GitLab instance behind a web application firewall (WAF) or reverse proxy that can rate-limit or block anomalous CI/CD configuration requests as an interim control.
- Disable public project creation and anonymous access to CI/CD endpoints where operationally feasible.
# Upgrade example for Omnibus GitLab on Debian/Ubuntu
sudo apt-get update
sudo apt-get install gitlab-ee=19.4.2-ee.0
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
# Verify the running version
sudo gitlab-rake gitlab:env:info | grep -i version
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

