GitLab flaw lets attackers run code on self-managed servers without a login
- Affected
- Self-managed GitLab Community Edition and Enterprise Edition from
7.0until the Oct 21 release for each branch. All versions and fixes
- CVE
- Vendor
- GitLab
A flaw in GitLab Community Edition and Enterprise Edition could let an unauthenticated attacker run code on a self-managed GitLab server, GitLab says. It rates the flaw, an integer overflow when GitLab compiles a crafted regular expression, 10.0 under CVSS 3.1. Every version from 7.0 is affected until the Oct 21 releases, and GitLab.com and GitLab Dedicated are already patched. GitLab hasn’t said whether the flaw is exploited.
GitLab’s detection notes say the flaw is in how GitLab renders Org mode files, which end in .org, through the org-ruby gem and Ruby’s Onigmo regular-expression engine. The attacker needs no account, only a public project that can hold a crafted file, and the code runs as the server’s git user. GitLab lists the possible impact as theft of gitlab-secrets.json, every continuous integration and delivery (CI/CD) variable, runner tokens and access tokens, plus access to every repository.
GitLab published two detections for self-managed instances. One fires when a single client sets off five or more render timeouts on .org files within 30 minutes, which exceptions_json.log records. The other looks for Ruby crash reports that run through org-ruby or Onigmo in puma_stderr.log. GitLab says a successful attack can be quiet and needn’t crash anything, so finding no crash doesn’t clear an instance.
GitLab backported the fix to 18.11.13, 19.0.10, 19.1.9 and 19.2.9, beyond its usual patch releases. Dedicated tenants on 19.3.5-internal0, 19.4.2-internal0 or later need no action. GitLab’s Oct 21 releases also fix 11 other flaws, two of which it rates high.
The Onigmo engine is also behind two CI/CD flaws GitLab fixed in 19.4.2, 19.3.5 and 19.2.8, its detection notes say.
- CVE
- Vendor
- GitLab
What to do
8 steps
Affected and fixed versions
| Product | Affected | Fixed |
|---|---|---|
| GitLab 19.5 | Before 19.5.1 | 19.5.1 |
| GitLab 19.4 | Before 19.4.3 | 19.4.3 |
| GitLab 19.3 | Before 19.3.6 | 19.3.6 |
| GitLab 19.2 | Before 19.2.9 | 19.2.9 |
| GitLab 19.1 | Before 19.1.9 | 19.1.9 |
| GitLab 19.0 | Before 19.0.10 | 19.0.10 |
| GitLab 18.11 and older | From 7.0 until 18.11.13 | 18.11.13 |
| GitLab.com and GitLab Dedicated | Patched by GitLab | No action needed |
- Product
- GitLab 19.5
- Affected
- Before
19.5.1 - Fixed
19.5.1
- Product
- GitLab 19.4
- Affected
- Before
19.4.3 - Fixed
19.4.3
- Product
- GitLab 19.3
- Affected
- Before
19.3.6 - Fixed
19.3.6
- Product
- GitLab 19.2
- Affected
- Before
19.2.9 - Fixed
19.2.9
- Product
- GitLab 19.1
- Affected
- Before
19.1.9 - Fixed
19.1.9
- Product
- GitLab 19.0
- Affected
- Before
19.0.10 - Fixed
19.0.10
- Product
- GitLab 18.11 and older
- Affected
- From
7.0until18.11.13 - Fixed
18.11.13
- Product
- GitLab.com and GitLab Dedicated
- Affected
- Patched by GitLab
- Fixed
- No action needed
Sources
- GitLab advisoryPrimary source docs.gitlab.com
- GitLab research Org mode detectionPrimary source gitlab.com
- GitLab research Onigmo crash detectionPrimary source gitlab.com