Skip to content

Back to the catalog

Alpine Linux rebuilds GitLab after attempted RCE attack
bleepingcomputer.comarticle

Alpine Linux rebuilds GitLab after attempted RCE attack

Alpine Linux rebuilt its GitLab server and reset all passwords after attackers tried to exploit CVE-2026-97229, a maximum-severity integer overflow in the Onigmo regex engine bundled with Ruby, on October 20-21. Eight worker crashes occurred and four were partially successful. Missing logs and outbound connection records meant compromise could not be ruled out. Alpine had run GitLab 19.3.4, then 19.3.6, which lacked the Ruby patch; the fixed image is alpinelinux/gitlab:19.3.6 with Ruby 3.3.13.

TL;DR Alpine Linux rebuilt its GitLab instance after failed or partial exploitation attempts of a critical Onigmo RCE, because logs were too thin to rule out compromise.
Document

What it is

CVE-2026-97229 is a maximum-severity integer overflow in Onigmo, the regex engine bundled with Ruby. It lets unauthenticated attackers run arbitrary code on a GitLab server. GitLab disclosed it and shipped fixes on 12 October 2026. On 20-21 October, attackers used it against Alpine Linux's GitLab, which hosts repositories, code review, CI jobs and the "aports" package build recipes.

How it works

An attacker submits a specially crafted regular expression in a CI/CD pipeline configuration, under certain conditions. Alpine saw malicious CI configurations cause eight worker crashes. Four were partially successful, and none appeared to go all the way to code execution.

Preconditions / Affected

The fix has two layers, and the page shows how a team can have the first without the second:

  • Alpine first ran GitLab 19.3.4. The patched GitLab release was 19.3.5.
  • Upgrading to 19.3.6 still left the flaw open. The fix required a patched Ruby, which GitLab's official packages bundle but Alpine's custom container image did not.

Anyone running a self-built or custom GitLab image should check the Ruby version inside it, not only the GitLab version.

What to do

Alpine advises users to reset their GitLab passwords and pull the alpinelinux/gitlab:19.3.6 image published on 27 October 2026, which contains Ruby 3.3.13 and addresses the CVE. Alpine rebuilt its own instance from scratch and reset all passwords.

Caveats

  • Alpine found no evidence of code execution or tampering, but missing logs and a lack of outbound connection records mean it cannot rule out compromise. It chose a full rebuild for that reason.
  • No tampering was found in repository commits, packages or releases up to 27 October. Signing keys are not stored on the GitLab server, so they could not have been exposed.
  • The attackers downloaded Alpine's GitLab container image, which suggests they may have been preparing a supply-chain attack.
  • If exploitation had succeeded, the exposed data could include user details, password hashes, 2FA secrets, CI/CD secrets, integration credentials and private project content. None of this is confirmed as compromised.

Organisations named here

  • Alpine Linux

CVEs named here

  • CVE-2026-97229

Technologies named here

  • GitLab 19.3.4
  • GitLab
  • Onigmo
  • Ruby
  • Alpine Linux
  • alpinelinux/gitlab container image
  • Docker
  • GitLab 19.3.6 (Alpine Linux's custom container image, lacked the Ruby patch)

Techniques named here

  • Remote code execution
  • Integer Overflow
  • Supply-chain attack

Concepts named here

  • Missing logs and outbound connection records
  • Patch gap in custom container image
  • Signing key isolation
  • Supply chain risk