← All articles

Public exploit runs commands as git on unpatched self-managed GitLab servers

A researcher at depthfirst published a working exploit on July 24 for a GitLab flaw patched on June 10, running commands as the git user on any self-managed 18.11.3 server that has not updated. Any authenticated user who can push to a project can trigger it: the attacker commits a crafted Jupyter notebook and opens its commit diff to leak a heap pointer, repeats until an automated probe locates libraries in memory, then fires the payload with two more notebooks. No administrator rights, runner access, or victim interaction are needed. The bug sits in the notebook renderer, which passes repository-controlled data to a parser inside a long-lived worker.

Check
Move self-managed GitLab to a supported release containing the June fix, and for Helm or Operator deployments verify the GitLab version inside the Webservice image rather than only the chart version.
Affected
Self-managed GitLab servers on 18.11.3 or other unpatched builds; any authenticated user able to push a project can run commands as the git service account, with public exploit code now available.
Fix
Upgrade to a fixed release, since no workaround is offered, and note GitLab did not classify the fix as a security issue, so track upstream library bumps rather than security advisories alone.