Jenkins w wersjach 2.318 i wcześniejszych oraz LTS 2.303.2 i wcześniejszych nie weryfikuje uprawnień dostępu agenta do kontrolera podczas tworzenia symbolic links w procesie rozpakowywania archiwów. Podatność umożliwia niekontrolowany zapis plików poza dozwolonym obszarem, co stanowi poważne zagrożenie dla integralności i poufności systemu.
▸ Pokaż oryginał (EN)
Jenkins 2.318 and earlier, LTS 2.303.2 and earlier does not check agent-to-controller access to create symbolic links when unarchiving a symbolic link in FilePath#untar.
Błąd dotyczy metody FilePath#untar, która nie sprawdza reguł kontroli dostępu agent-to-controller (agenta do kontrolera) podczas rozpakowywania archiwów zawierających symbolic links. Atakujący kontrolujący agenta Jenkins może przesłać specjalnie spreparowane archiwum zawierające symbolic link wskazujący na dowolną lokalizację w systemie plików kontrolera. Brak weryfikacji pozwala na utworzenie takiego linku poza dozwolonym katalogiem roboczym, omijając mechanizmy bezpieczeństwa separacji ról między agentem a kontrolerem.
Atakujący z dostępem do agenta Jenkins może uzyskać nieautoryzowany dostęp do poufnych plików na kontrolerze (naruszenie poufności) oraz zapisywać lub nadpisywać pliki w dowolnych lokalizacjach systemu plików kontrolera (naruszenie integralności).
Należy zaktualizować Jenkins do wersji 2.319 lub nowszej (dla wydań regularnych) albo do wersji LTS 2.303.3 lub nowszej. Patche dostępne są zgodnie z informacjami producenta opublikowanymi w security advisory z dnia 2021-11-04 pod adresem https://www.jenkins.io/security/advisory/2021-11-04/
Jenkins w wersji 2.318 i wcześniejszych oraz Jenkins LTS w wersji 2.303.2 i wcześniejszych.
Podatność wchodzi w skład szerszego zestawu poprawek opublikowanych przez Jenkins Security Team w ramach security advisory z dnia 2021-11-04 (oznaczenie SECURITY-2455). Dotyczy mechanizmu separacji uprawnień agent-to-controller, który jest kluczowym elementem bezpieczeństwa środowisk CI/CD opartych na Jenkins.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:NJenkins
APPJenkins< 2.303.3< 2.319
Powiązane podatności
Jenkins CLI – odczyt dowolnych plików przez path traversal bez uwierzytelnienia
RCE w Jenkins — nieuprawnione wywołanie metod przez Stapler framework
Jenkins CLI — nieuwierzytelnione RCE przez deserializację SignedObject
Stored XSS w Jenkins poprzez wersję wymaganą przez wtyczkę
Jenkins: brak kontroli dostępu przy tworzeniu katalogów przez agenta