An issue was discovered in GitLab EE affecting all versions starting from 12.5 prior to 17.2.9, starting from 17.3, prior to 17.3.5, and starting from 17.4 prior to 17.4.2, which allows running pipelines on arbitrary branches.
The vulnerability results from insufficient permission verification (CWE-306 — missing authentication for critical function) before running a pipeline on the specified branch. An attacker with basic access to a GitLab EE instance can trigger a pipeline on any repository branch to which they normally should not have execution rights. The attack vector is network-based, requires no victim interaction or high privileges, and the scope extends beyond the source component (Scope: Changed).
An attacker can run CI/CD pipelines on arbitrary branches, which may lead to disclosure of sensitive secrets and environment variables embedded in the pipeline, as well as compromise the integrity of the software building and deployment process.
GitLab EE should be updated to version 17.2.9, 17.3.5, or 17.4.2 (or newer). The vendor has provided patches eliminating the vulnerability in all mentioned release branches. Until updating, it is recommended to restrict access to repositories and monitor unauthorized pipeline executions.
GitLab Enterprise Edition (EE) in all versions from 12.5 to 17.2.8 inclusive, from 17.3.0 to 17.3.4 inclusive, and from 17.4.0 to 17.4.1 inclusive.
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:NGitLab
APPGitlab12.5.0 – 17.2.9 (excl.)17.3.0 – 17.3.5 (excl.)17.4.0 – 17.4.2 (excl.)
Related vulnerabilities
GitLab: Przejęcie konta przez reset hasła na niezweryfikowany e-mail
RCE w GitLab CE/EE poprzez nieprawidłową walidację plików obrazów
GitLab has remediated an issue in GitLab CE/EE affecting all versions from 18.2 before 18.11.11, 19.0 before 1...
GitLab CE/EE: uruchomienie pipeline jako inny użytkownik (privilege escalation)
GitLab CE/EE — uruchomienie pipeline jako dowolny użytkownik (CWE-290)