Podatność w Jenkins Script Security Plugin 1.55 i wcześniejszych pozwala atakującemu na obejście mechanizmu sandbox i wywołanie dowolnych konstruktorów w skryptach. Ze względu na brak wymagań uwierzytelnienia i sieciowy wektor ataku stanowi krytyczne zagrożenie dla środowisk CI/CD.
▸ Pokaż oryginał (EN)
A sandbox bypass vulnerability in Jenkins Script Security Plugin 1.55 and earlier allows attackers to invoke arbitrary constructors in sandboxed scripts.
Jenkins Script Security Plugin implementuje mechanizm sandbox, który ma na celu ograniczenie możliwości wykonywania potencjalnie niebezpiecznego kodu w skryptach Groovy. Podatność (CWE-470 — użycie zewnętrznie kontrolowanej nazwy do wywołania klasy lub kodu) pozwala atakującemu na ominięcie tej ochrony i bezpośrednie wywoływanie dowolnych konstruktorów klas Javy w obrębie skryptów uruchamianych w sandboxie. W efekcie ograniczenia narzucone przez plugin przestają działać skutecznie.
Atakujący może wykonać dowolny kod na serwerze Jenkins, potencjalnie uzyskując pełną kontrolę nad systemem, dostęp do poufnych danych (poświadczeń, konfiguracji pipeline'ów) oraz możliwość dalszego lateral movement w infrastrukturze.
Należy zaktualizować Jenkins Script Security Plugin do wersji wyższej niż 1.55. Użytkownicy Red Hat OpenShift Container Platform powinni zastosować patche opisane w erracie RHSA-2019:1423. Szczegóły poprawki dostępne w oficjalnym biuletynie bezpieczeństwa Jenkins z 25 marca 2019 r.
Jenkins Script Security Plugin w wersji 1.55 i wcześniejszych; Red Hat OpenShift Container Platform (zgodnie z erratą RHSA-2019:1423)
Podatność została opisana w oficjalnym biuletynie bezpieczeństwa Jenkins opublikowanym 25 marca 2019 r. (SECURITY-1353), a publiczne ujawnienie nastąpiło 28 marca 2019 r. za pośrednictwem listy oss-security.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HJenkins Script Security
APPJenkins≤ 1.55Red Hat OpenShift Container Platform
APPRedhat3.11
Powiązane podatności
RCE w Kibana Timelion — wykonanie kodu z uprawnieniami procesu
Jenkins Script Security Plugin — sandbox bypass umożliwiający RCE
Jenkins Pipeline Groovy Plugin — bypass sandbox i wykonanie kodu (RCE)
RCE w Jenkins — nieuprawnione wywołanie metod przez Stapler framework
Samba: RCE przez command injection w 'check password script' z podstawieniem %u