Jenkins nie sanityzuje wersji Jenkins wymaganej przez wtyczkę podczas wyświetlania komunikatu o jej niekompatybilności, co skutkuje podatnością na stored XSS. Atakujący zdolni do dostarczenia złośliwej wtyczki do skonfigurowanych update sites mogą wykonać dowolny skrypt w przeglądarce ofiary.
▸ Pokaż oryginał (EN)
Jenkins 2.270 through 2.393 (both inclusive), LTS 2.277.1 through 2.375.3 (both inclusive) does not escape the Jenkins version a plugin depends on when rendering the error message stating its incompatibility with the current version of Jenkins, resulting in a stored cross-site scripting (XSS) vulnerability exploitable by attackers able to provide plugins to the configured update sites and have this message shown by Jenkins instances.
Gdy Jenkins wyświetla komunikat o niekompatybilności wtyczki z aktualną wersją serwera, nie wykonuje właściwego escapowania pola określającego wymaganą wersję Jenkins zdefiniowaną w manifeście wtyczki. Atakujący może umieścić złośliwy payload JavaScript w tym polu i opublikować spreparowaną wtyczkę na skonfigurowanym update site. Gdy administrator Jenkins przegląda dostępne aktualizacje lub instaluje wtyczki i pojawia się komunikat o niekompatybilności, osadzony skrypt zostaje wykonany w kontekście przeglądarki ofiary. Podatność jest sklasyfikowana jako stored XSS, ponieważ złośliwy payload pochodzi z zewnętrznego źródła danych (update site) i jest zapisywany/renderowany przez aplikację.
Atakujący może wykonać dowolny kod JavaScript w sesji zalogowanego użytkownika Jenkins, co może prowadzić do przejęcia sesji administratora, kradzieży danych uwierzytelniających, modyfikacji konfiguracji potoku CI/CD lub eskalacji uprawnień w środowisku Jenkins.
Należy zaktualizować Jenkins do wersji 2.394 lub nowszej (dla wersji regularnej) oraz do wersji 2.375.4 lub nowszej (dla wersji LTS), zgodnie z poradnikiem bezpieczeństwa producenta opublikowanym 2023-03-08. Należy również ograniczyć zaufane update sites wyłącznie do zweryfikowanych źródeł.
Jenkins w wersjach 2.270 do 2.393 włącznie oraz Jenkins LTS w wersjach 2.277.1 do 2.375.3 włącznie
Podatność została ujawniona w poradniku bezpieczeństwa Jenkins z dnia 2023-03-08 jako SECURITY-3037. Wektor ataku wymaga, aby atakujący był w stanie dostarczyć wtyczkę do update site skonfigurowanego w docelowej instancji Jenkins oraz aby użytkownik z uprawnieniami wyświetlił stosowny komunikat o niekompatybilności.
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:HJenkins
APPJenkins2.270 – 2.394 (bez)2.277.1 – 2.375.4 (bez)
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
Jenkins: brak kontroli dostępu przy tworzeniu katalogów przez agenta
Jenkins: brak kontroli dostępu przy tworzeniu symbolic links przez agenty