An issue was discovered in GitLab CE/EE affecting all versions starting from 16.4 prior to 17.5.0 which allows an attacker to trigger a pipeline as another user under certain circumstances.
Under specific circumstances, an authenticated attacker can cause a CI/CD pipeline to be executed in the context of another user's identity. This means the pipeline will be executed with the victim's permissions and tokens, not the attacker's. The detailed mechanism for triggering the situation has not been publicly disclosed, however the vulnerability concerns the authorization logic for pipeline invocation.
An attacker can take control of another user's pipeline, gaining access to their secrets, CI/CD variables, and resources they have permissions for. In production environments, this can lead to theft of credentials, code integrity violations, or lateral movement in the infrastructure.
GitLab CE/EE must be updated to version 17.5.0 or later. Detailed information about available patches can be found in the vendor references at https://gitlab.com/gitlab-org/gitlab/-/issues/474414
GitLab CE and EE, all versions from 16.4 to 17.5.0 (excluding 17.5.0)
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:NGitLab
APPGitlab16.4.0 – 17.5.0 (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 EE: uruchamianie pipeline CI/CD na dowolnych gałęziach bez autoryzacji
GitLab CE/EE — uruchomienie pipeline jako dowolny użytkownik (CWE-290)
Ruby-SAML: pominięcie weryfikacji podpisu odpowiedzi SAML — Auth Bypass