Security alert · Critical
Self-hosted GitLab: critical RCE flaw targeted in attack on Alpine Linux
· 3 minutes read · Centoculus Security Team
Known since · attacks confirmed since
Affected: Self-hosted GitLab instances (affected versions: see GitLab's security advisory)
What happened
On October 20 and 21, attackers tried to exploit a critical remote code execution flaw in GitLab on the development infrastructure of Alpine Linux. The incident became public on November 1, 2026. Out of concern for a possible compromise, the Alpine Linux project rebuilt its GitLab server and reset all passwords.
The report does not name the specific vulnerability or the affected GitLab versions. What it does show is that a critical GitLab flaw is being actively used against internet-facing GitLab servers.
Who is affected
Anyone operating a self-hosted GitLab instance, in particular instances reachable from the internet. This includes GitLab servers used by agencies for customer projects, CI/CD pipelines and deployments. A compromised GitLab server can expose source code, stored secrets, CI/CD variables, deploy keys and access to the systems it deploys to.
GitLab.com (the hosted service) is operated by GitLab itself; this alert concerns servers you run yourself.
What to do now
- Check which GitLab version your instance runs (Admin Area > Overview, or
gitlab-rake gitlab:env:infoon Omnibus installations). - Compare it with the latest GitLab security release. The fixed versions are not in our source data, so check the vendor advisory and the GitLab security release notes for the versions that close the critical flaw.
- Back up your GitLab configuration and secrets (for Omnibus:
/etc/gitlab/gitlab.rband/etc/gitlab/gitlab-secrets.json) and create a regular backup. - Update GitLab to the latest patch release of your version line using your package manager or Docker image, then run
gitlab-ctl reconfigureif your setup requires it. - Confirm all services run with
gitlab-ctl statusand check that login, repositories and CI pipelines work. - If you cannot update immediately, restrict access to the instance, for example by limiting it to VPN or known IP addresses, until the update is applied.
- If you find any signs of compromise (see below), follow the example of Alpine Linux: treat the server as compromised, rebuild it from a clean state, and reset passwords, personal access tokens, deploy keys, runner tokens and CI/CD secrets.
How to check whether you were hit
- Review the GitLab logs (for Omnibus under
/var/log/gitlab/, for examplegitlab-rails/production_json.log,api_json.logandnginxaccess logs) for unusual requests, errors or access from unknown IP addresses, especially around and after October 20. - Look in the Admin Area for new or unexpected users, administrators, personal access tokens, SSH keys, deploy keys, webhooks and runners.
- Check audit events for changes to permissions, project settings or CI/CD variables you did not make.
- On the server itself, look for unknown processes, new cron jobs, unexpected files in the GitLab directories and outgoing connections to unfamiliar hosts.
- Check recent commits and pipeline definitions (
.gitlab-ci.yml) for changes nobody on your team made.
Sources
Related posts
Alerts ·
OpenSSH on Alpine Linux: login without password via overlong passwords
On Alpine Linux servers with the standard openssh-server package, attackers can log in to accounts without a password, such as key-only accounts. OpenSSH 10.6p2 and updated Alpine packages fix it.
Alerts ·
APT flaw on Debian and Ubuntu lets MitM attackers swap packages and run code as root
A flaw in APT lets an attacker who can modify package downloads replace a verified package and run code as root. Debian and Ubuntu published advisories on November 4. Update APT on all servers.
Alerts ·
Ruby on Rails Active Storage: critical file write flaw via ImageMagick uploads
A critical flaw in Ruby on Rails Active Storage lets unauthenticated attackers write arbitrary files on the server through a crafted upload when ImageMagick processes it. Update to Rails 8.1.4.1 or 8.0.5.2.