The fixed version depends on your branch

GitLab released an unscheduled critical patch on 12 October for Community Edition and Enterprise Edition. Its advisory says CVE-2026-97229 could allow unauthenticated code execution on the GitLab server, under certain conditions, through a specially crafted regular expression in CI/CD configuration. GitLab rates it CVSS 10.0.

The affected lines are 19.2 before 19.2.8, 19.3 before 19.3.5, and 19.4 before 19.4.2. GitLab recommends upgrading affected self-managed installations immediately. GitLab.com is already patched, and GitLab says Dedicated customers need no action for this release.

Check the actual running patch

GitLab’s final 19.3 fix is 19.3.5, not 19.3.4. The vendor notes that 19.3.4 had a separate merge-request-page problem when the Ona integration was enabled.

The CI/CD boundary is also a server boundary

CI/CD configuration can look like project-level data, but GitLab has disclosed a path by which the regular-expression compiler could affect the server itself. That is why the unauthenticated condition deserves attention from the people who run the GitLab instance, not only the owners of individual pipelines.

The same patch release fixes several other security issues. GitLab does not say in this advisory that CVE-2026-97229 is being exploited in the wild. Its severity and the available fix are enough to make patching urgent without adding an unsupported exploitation claim.

Inventory, update, then check the exposure window

  1. 1

    Find every self-managed instance. Include externally reachable and internal GitLab CE/EE servers, replicas, staging systems and instances run for a business unit. Record the precise version and deployment method.

  2. 2

    Move to a fixed build. Follow GitLab’s upgrade guidance and install 19.2.8, 19.3.5 or 19.4.2, as appropriate for the supported branch. Verify the version after restart.

  3. 3

    Review suspicious CI/CD activity. If an affected instance was reachable, preserve application and audit logs and look for unexpected CI/CD configuration changes or server-side processes. Treat this as a focused exposure assessment, not a claim that exploitation occurred.

  4. 4

    Protect secrets if compromise is plausible. A server compromise may reach runners, project data or stored credentials. Scope and rotate secrets based on evidence from the investigation rather than assuming a software update cleans up prior access.

Do not confuse a patch with a clean bill of health

The closure note should identify every GitLab instance, its before-and-after version, when the update landed, and whether anyone checked the time it remained exposed. The fix addresses the vulnerability; it does not answer what happened before it was installed.