Podatność w GitLab CE/EE umożliwia atakującemu wywołanie pipeline CI/CD w imieniu innego użytkownika. Jest to szczególnie groźne w środowiskach CI/CD, gdzie pipeline może mieć dostęp do sekretów, tokenów i zasobów docelowego użytkownika.
▸ Pokaż oryginał (EN)
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.
W określonych okolicznościach uwierzytelniony atakujący może doprowadzić do uruchomienia pipeline CI/CD w kontekście tożsamości innego użytkownika. Oznacza to, że pipeline zostanie wykonany z uprawnieniami i tokenami ofiary, a nie atakującego. Szczegółowy mechanizm wyzwalania sytuacji nie został ujawniony publicznie, jednak podatność dotyczy logiki autoryzacji wywołania pipeline.
Atakujący może przejąć kontrolę nad pipeline innego użytkownika, uzyskując dostęp do jego sekretów, zmiennych CI/CD oraz zasobów, do których ma on uprawnienia. W środowiskach produkcyjnych może to prowadzić do kradzieży danych uwierzytelniających, naruszenia integralności kodu lub lateral movement w infrastrukturze.
Należy zaktualizować GitLab CE/EE do wersji 17.5.0 lub nowszej. Szczegółowe informacje o dostępnych patchach znajdują się w referencjach producenta pod adresem https://gitlab.com/gitlab-org/gitlab/-/issues/474414
GitLab CE i EE, wszystkie wersje od 16.4 do 17.5.0 (z wyłączeniem 17.5.0)
Podatność dotyczy środowisk CI/CD, co podwyższa jej realny wpływ — pipeline często operują na sekretach i tokenach o szerokim zakresie uprawnień. Szczegółowy raport dostępny jest na platformie HackerOne (raport #2623063).
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 (bez)
Powiązane podatności
GitLab: Przejęcie konta przez reset hasła na niezweryfikowany e-mail
An issue has been discovered in GitLab CE/EE affecting all versions starting from 11.9. GitLab was not properl...
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