CVE-2026-97229 — CVSS 10.0 — POC PUBLIC

Is your GitLab server exposed to the CI/CD regex RCE?

A maximum-severity flaw in GitLab's CI/CD regular expression compiler lets an attacker run code on your GitLab server — no login required on instances with open sign-ups. The patch shipped October 12; a working proof-of-concept went public October 13; Censys counts 25,766 internet-facing hosts still on vulnerable versions. This free 30-second self-test tells you if you're at risk. No signup, nothing installed.

The 30-second check

1

Check your GitLab version — on the host running GitLab:

sudo gitlab-rake gitlab:env:info | grep "GitLab version"
19.2.0–19.2.7, 19.3.0–19.3.4, or 19.4.0–19.4.1 → you are EXPOSED. Unauthenticated RCE via a crafted CI regex. Upgrade now.
Older than 19.2 → not listed in the advisory. No patch exists on your branch — upgrade to a supported release regardless.
19.2.8, 19.3.5, 19.4.2 or newer → patched. You're safe from this CVE.
2

Check whether open sign-ups make it worse — the exploit needs a malicious CI config committed to a repo before it can be triggered. If anyone on the internet can register on your instance, that barrier is gone:

Admin area → Settings → General → Sign-up restrictions — or on the host:

grep "signup_enabled" /etc/gitlab/gitlab.rb
Sign-ups open → treat this as fully unauthenticated RCE. Any internet user can plant the config. Patch today, not this weekend.
Sign-ups restricted? An attacker still only needs one low-privilege account. Don't relax.
3

Check for signs of past compromise — the exploit runs inside a GitLab application worker, so a successful hit can read CI/CD variables, secrets, and the database. Hunt for unauthenticated hits on the CI lint endpoint since October 12:

grep "ci/lint" /var/log/gitlab/gitlab-rails/production.log

Also review .gitlab-ci.yml commits from the last two weeks for complex regex you didn't authorize, plus unexpected runner registrations or new admin users. Log review is indicative, not conclusive — patching and compromise-checking are two separate jobs.

If you're exposed, do this now

Scan your repos for poisoned pipeline configs → Vibe-Code Audit

This page checked one CVE. Vibe-Code Audit scans your repositories for malicious code, injected configs, and leaked secrets — the artifacts this attack leaves behind.

Writing about this CVE? Embed the checker

Drop a live version-checker into your blog, docs, or forum post — three lines of HTML.

Get the embed code
Share this check: XLinkedInReddit
Reddit pre-flight required: before tapping the Reddit button, read that community's rules today — check AI-use disclosure requirements, title formatting, and your account standing. Never auto-post, and never repost a link that was already flagged.