Podatność w Jenkins Script Security Plugin 1.53 i wcześniejszych pozwala atakującemu z uprawnieniem Overall/Read ominąć mechanizm sandbox i wykonać dowolny kod na maszynie JVM serwera Jenkins. Ze względu na niski próg wymaganych uprawnień i możliwość pełnego przejęcia serwera CI/CD jest to zagrożenie krytyczne.
▸ Pokaż oryginał (EN)
A sandbox bypass vulnerability exists in Jenkins Script Security Plugin 1.53 and earlier in src/main/java/org/jenkinsci/plugins/scriptsecurity/sandbox/groovy/GroovySandbox.java, src/main/java/org/jenkinsci/plugins/scriptsecurity/sandbox/groovy/SecureGroovyScript.java that allows attackers with Overall/Read permission to execute arbitrary code on the Jenkins master JVM.
Mechanizm sandbox w pluginie Script Security służy do izolowania skryptów Groovy uruchamianych w Jenkins, tak aby nie mogły wykonywać niebezpiecznych operacji. Błąd w plikach GroovySandbox.java oraz SecureGroovyScript.java umożliwia obejście tej izolacji. Atakujący posiadający jedynie podstawowe uprawnienie Overall/Read może spreparować złośliwy skrypt Groovy, który wykona się poza piaskownicą bezpośrednio na JVM serwera Jenkins (master), uzyskując tym samym pełną kontrolę nad procesem.
Atakujący może wykonać dowolny kod na serwerze Jenkins master, co w praktyce oznacza pełne przejęcie serwera CI/CD — kradzież sekretów, modyfikację pipeline'ów, lateral movement w sieci wewnętrznej oraz naruszenie integralności i poufności budowanych aplikacji.
Należy zaktualizować Jenkins Script Security Plugin do wersji wyższej niż 1.53 zgodnie z zaleceniami opublikowanymi w Jenkins Security Advisory z dnia 2019-03-06. Użytkownicy Red Hat OpenShift Container Platform powinni zastosować patche opisane w erracie RHSA-2019:0739. Dodatkowo zaleca się ograniczenie uprawnienia Overall/Read wyłącznie do zaufanych użytkowników do czasu wdrożenia łatki.
Jenkins Script Security Plugin w wersji 1.53 oraz wcześniejszych; Red Hat OpenShift Container Platform (zgodnie z erratą RHSA-2019:0739)
Publicznie dostępny exploit opublikowany w serwisie Packet Storm Security (packetstormsecurity.com/files/166778/Jenkins-Remote-Code-Execution.html). Podatność figuruje w katalogu CISA KEV jako aktywnie wykorzystywana.
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HJenkins Script Security
APPJenkins≤ 1.53Red Hat OpenShift Container Platform
APPRedhat3.11
CISA KEV — szczegółyi
- Dostawcai
- Jenkins
- Produkti
- Script Security Plugin
- Data dodania do KEVi
- 25 kwietnia 2022
- Termin remediation (USA)i
- 16 maja 2022(po terminie)
Zastosuj aktualizacje zgodnie z instrukcjami producenta.
▸ Pokaż oryginał (EN)
Apply updates per vendor instructions.
Plugin Jenkins Script Security zawiera awarię mechanizmu ochrony, pozwalającą atakującemu ominąć piaskownicę.
▸ Pokaż oryginał (EN)
Jenkins Script Security Plugin contains a protection mechanism failure, allowing an attacker to bypass the sandbox.
Powiązane podatności
RCE w Kibana Timelion — wykonanie kodu z uprawnieniami procesu
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
Samba: command injection w podsystemie drukowania przez podstawienie %J