Podatność w GitLab CE/EE umożliwia atakującemu wyzwolenie pipeline CI/CD w kontekście dowolnego użytkownika platformy. Krytyczny poziom zagrożenia (CVSS 9.9) wynika z możliwości przejęcia tożsamości innych użytkowników i wykonania kodu w ich imieniu w środowisku CI/CD.
▸ Pokaż oryginał (EN)
An issue was discovered in GitLab CE/EE affecting all versions starting from 8.14 prior to 17.1.7, starting from 17.2 prior to 17.2.5, and starting from 17.3 prior to 17.3.2, which allows an attacker to trigger a pipeline as an arbitrary user under certain circumstances.
Błąd sklasyfikowany jako CWE-290 (Authentication Bypass by Spoofing) pozwala uwierzytelnionemu napastnikowi na obejście mechanizmów weryfikacji tożsamości w określonych okolicznościach. W efekcie atakujący może zainicjować pipeline CI/CD tak, jakby był innym, dowolnie wybranym użytkownikiem systemu. Podatność dotyczy szerokiego zakresu wersji — wszystkich wydań od 8.14 wzwyż, które nie zostały załatane.
Atakujący może uruchamiać pipeline CI/CD jako dowolny użytkownik, co prowadzi do nieautoryzowanego wykonania kodu, eskalacji uprawnień, wycieku sekretów i zmiennych środowiskowych przechowywanych w pipeline, a także do kompromitacji całego środowiska deweloperskiego i łańcucha dostaw oprogramowania.
Należy zaktualizować GitLab CE/EE do wersji 17.1.7, 17.2.5 lub 17.3.2 (w zależności od używanej gałęzi). Patche zostały opublikowane przez producenta 11 września 2024 r. w ramach wydania patch release 17.3.2.
GitLab CE/EE: wszystkie wersje od 8.14 do 17.1.6 (włącznie), wersje 17.2.0–17.2.4 oraz wersje 17.3.0–17.3.1
Podatność została zgłoszona za pośrednictwem programu bug bounty HackerOne (raport #2595495). Patch release producenta opublikowano 11 września 2024 r.
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HGitLab
APPGitlab8.14.0 – 17.1.7 (bez)17.2.0 – 17.2.5 (bez)17.3.0 – 17.3.2 (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 CE/EE: uruchomienie pipeline jako inny użytkownik (privilege escalation)
GitLab EE: uruchamianie pipeline CI/CD na dowolnych gałęziach bez autoryzacji
Ruby-SAML: pominięcie weryfikacji podpisu odpowiedzi SAML — Auth Bypass