Security researchers at depthfirst have released a working proof-of-concept exploit for a GitLab vulnerability that the company patched on June 10. The PoC, published on July 24, targets self-managed GitLab instances still running version 18.11.3 that have not applied the fix.

According to the researchers, the flaw allows any authenticated user with push access to a project to execute arbitrary commands under the context of the git system user. That is a low bar for exploitation: no administrative privileges, no special roles, just a working project account with commit access.

How the Attack Works

The exploit chain begins with the attacker committing a specially crafted Jupyter notebook file to a repository. When the commit’s diff view is opened, either by the attacker or by another user such as a reviewer, GitLab’s diff rendering leaks a heap memory address. That leaked information is used to build the conditions needed for remote code execution as the git user.

Because the attack relies on GitLab’s own notebook diff rendering feature, no unusual permissions or external tooling are required beyond standard repository push access, making this a realistic path for a malicious insider or a compromised low-privilege account.

Patch Timeline

GitLab shipped a fix for this issue on June 10, roughly six weeks before the PoC went public. Organizations running self-managed GitLab 18.11.3 that have not yet applied the update are exposed. GitLab.com and managed SaaS instances are typically patched centrally, but self-hosted deployments depend on administrators applying updates manually.

Recommendations

  • Confirm whether self-managed GitLab instances are running a patched version beyond 18.11.3.
  • Apply the June 10 security update immediately if it has not already been deployed.
  • Audit recent commits containing Jupyter notebook files for unusual or unexpected content.
  • Review push access permissions and restrict them where broader access is not required.
  • Monitor commit diff view logs for anomalous access patterns tied to notebook files.

With public exploit code now available, unpatched self-managed GitLab servers should be treated as an urgent remediation priority.