Podatność w module remoting Jenkins umożliwia zdalnemu atakującemu wykonanie dowolnego kodu bez uwierzytelnienia. Sklasyfikowana jako krytyczna (CVSS 9.8), stanowi poważne zagrożenie dla środowisk CI/CD.
▸ Pokaż oryginał (EN)
The remoting module in Jenkins before 2.32 and LTS before 2.19.3 allows remote attackers to execute arbitrary code via a crafted serialized Java object, which triggers an LDAP query to a third-party server.
Atakujący przesyła spreparowany, zserializowany obiekt Java do modułu remoting Jenkins. Podczas deserializacji tego obiektu aplikacja wykonuje zapytanie LDAP do zewnętrznego serwera kontrolowanego przez atakującego. Mechanizm ten (CWE-90: LDAP Injection) jest wykorzystywany do wywołania złośliwego kodu po stronie serwera Jenkins. Atak nie wymaga żadnego uwierzytelnienia ani interakcji użytkownika.
Atakujący może przejąć pełną kontrolę nad serwerem Jenkins, wykonując dowolny kod z uprawnieniami procesu Jenkins, co w środowiskach CI/CD może skutkować kompromitacją kodu źródłowego, pipeline'ów budowania oraz powiązanej infrastruktury.
Należy zaktualizować Jenkins do wersji 2.32 lub nowszej (linia główna) albo do wersji LTS 2.19.3 lub nowszej. Szczegóły dostępne w oficjalnym advisory Jenkins (jenkinsci-advisories).
Jenkins w wersjach przed 2.32 (linia główna) oraz Jenkins LTS w wersjach przed 2.19.3; dotyczy również Fedora Project Fedora w wersjach zawierających podatne pakiety Jenkins.
Podatność powiązana jest z klasą błędów deserializacji Java omawianą w prezentacji codewhitesec na konferencji DeepSec, co wskazuje na szerszy kontekst badań nad tym wektorem ataku w ekosystemie Java.
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HFedora Project Fedora
OSFedoraproject25Jenkins
APPJenkins≤ 2.19.2≤ 2.31
Powiązane podatności
PHP CGI argument injection – RCE na Windows przez mechanizm Best-Fit
Type Confusion w V8 (Google Chrome) — RCE przez spreparowaną stronę HTML
Type Confusion w silniku V8 Chrome — zdalne wykonanie kodu (RCE)
Use-after-free w Google Chrome Visuals umożliwiający ucieczkę z sandbox
Jenkins CLI – odczyt dowolnych plików przez path traversal bez uwierzytelnienia