Podatność w Jenkins Pipeline: Groovy Plugin w wersji 2.64 i wcześniejszych pozwala atakującym na obejście mechanizmu sandbox i wywołanie dowolnych konstruktorów w skryptach Groovy. Jest to krytyczne zagrożenie, ponieważ umożliwia wykonanie nieautoryzowanego kodu w środowisku CI/CD bez żadnych uprawnień.
▸ Pokaż oryginał (EN)
A sandbox bypass vulnerability in Jenkins Pipeline: Groovy Plugin 2.64 and earlier allows attackers to invoke arbitrary constructors in sandboxed scripts.
Jenkins Pipeline: Groovy Plugin stosuje mechanizm sandbox (piaskownicy) w celu ograniczenia możliwości wykonywania potencjalnie niebezpiecznych operacji w skryptach Groovy uruchamianych w pipeline. Podatność (CWE-470 — użycie zewnętrznie kontrolowanej nazwy do wywołania klasy lub kodu) pozwala atakującemu na ominięcie tych ograniczeń poprzez bezpośrednie wywołanie dowolnych konstruktorów klas Java. W efekcie skrypt działający rzekomo w bezpiecznym środowisku sandbox może wykonywać operacje normalnie przez nie zakazane.
Atakujący może wykonać dowolny kod na serwerze Jenkins, co prowadzi do pełnego naruszenia poufności, integralności i dostępności systemu, w tym potencjalnego przejęcia kontroli nad infrastrukturą CI/CD.
Należy zaktualizować Jenkins Pipeline: Groovy Plugin do wersji nowszej niż 2.64. Dla użytkowników Red Hat OpenShift Container Platform należy zastosować patche wskazane w erracie RHSA-2019:1423. Szczegółowe informacje dostępne w komunikacie bezpieczeństwa Jenkins z 2019-03-25.
Jenkins Pipeline: Groovy Plugin w wersji 2.64 i wcześniejszych; Red Hat OpenShift Container Platform (zgodnie z erratą RHSA-2019:1423)
Podatność została ujawniona publicznie 2019-03-28 na liście oss-security. Advisory producenta Jenkins zostało opublikowane 2019-03-25.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HJenkins Pipeline\
APPJenkins_groovyRed 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