Jenkins (CVE-2017-1000353): przejęcie serwera automatyzacji bez logowania, luka wraca w atakach
Stara luka w Jenkinsie pozwala bez hasła uruchomić dowolny kod przez kanał poleceń CLI. Gotowy exploit jest publiczny od lat, a CISA potwierdziła ataki w 2025 roku. Zaktualizuj Jenkinsa i wyłącz stary protokół CLI.
Ten alert jest dla zarządu, CTO i CFO firm, które mają własne oprogramowanie, sklep z modyfikacjami lub aplikację utrzymywaną przez wykonawcę, bo tam często działa serwer automatyzacji Jenkins. Werdykt: jeśli Jenkins ma wersję 2.56 lub starszą (LTS 2.46.1 lub starszą), zaktualizuj go lub wyłącz stary kanał CLI dziś, bo gotowy kod ataku jest publiczny od lat, a CISA potwierdziła aktywne wykorzystanie w 2025 roku.
1. CO SIĘ STAŁO? Fakty w pigułce
Amerykańska agencja CISA 2 października 2025 roku dopisała podatność CVE-2017-1000353 do katalogu KEV, czyli listy luk, o których ma dowody, że są wykorzystywane w prawdziwych atakach. Luka została ogłoszona przez projekt Jenkins 26 kwietnia 2017 roku, a mimo to osiem lat później nadal jest używana.
Jenkins przyjmował przez kanał poleceń (CLI) spreparowane obiekty Java i odtwarzał je bez sprawdzenia nadawcy. Istniejąca ochrona oparta na liście zakazanych typów dawała się obejść. Skutek: dowolny program uruchomiony na serwerze bez logowania. Serwer automatyzacji przechowuje klucze do repozytoriów kodu, serwerów produkcyjnych i usług, więc jego przejęcie otwiera drogę dalej.
Termin naprawy wyznaczony przez CISA minął 23 października 2025 roku, prawie rok temu.
Element
Szczegóły
Identyfikator CVE
CVE-2017-1000353
Data dodania do CISA KEV
2025-10-02
Termin naprawy wg CISA
2025-10-23 (21 dni od wpisu)
Produkt
Jenkins (serwer automatyzacji budowania i wdrażania oprogramowania); także jako składnik innych produktów, np. Oracle Communications Cloud Native Core Automated Test Suite 1.9.0
Wersje zagrożone
Jenkins 2.56 i starsze (linia główna) oraz LTS 2.46.1 i starsze
Wersje bezpieczne
Pierwsze z poprawką: 2.57 (linia główna) i LTS 2.46.2. Najnowsze wydania: 2.582 i LTS 2.568.3
Typ podatności
Deserializacja niezaufanych danych prowadząca do zdalnego wykonania kodu; CWE-502 (wg NVD; w katalogu KEV klasa nie jest przypisana)
Ocena CVSS
NVD i CISA: 9.8 KRYTYCZNA (CVSS 3.1). NVD w starszej skali CVSS 2.0: 7.5. Red Hat: 8.1, waga „istotna” (wyższa złożoność ataku). Oracle: 9.8. Atak przez sieć, bez logowania, bez udziału użytkownika
2. O CO CHODZI W PROSTYCH SŁOWACH?
Wyobraź sobie recepcję biurowca z listą osób, których nie wolno wpuszczać. Każdy, kogo nie ma na liście, przechodzi. Ktoś przychodzi w przebraniu kuriera, którego na liście nie ma, a w paczce niesie drugą osobę. Recepcja sprawdza tylko kuriera, a gość z paczki wchodzi prosto do pokoju, gdzie wiszą klucze do wszystkich biur w budynku.
Tak działała ta luka. Jenkins miał listę zakazanych typów obiektów, ale napastnik opakowywał właściwy ładunek w obiekt spoza listy (SignedObject). Rozpakowanie zewnętrznej warstwy uruchamiało osobne odczytywanie wnętrza, którego nikt nie sprawdzał. A Jenkins to właśnie pokój z kluczami: ma dostęp do kodu, serwerów produkcyjnych i usług firmy.
💡 Jenkins to serwer, który automatycznie pobiera kod, buduje aplikację, testuje ją i wgrywa na serwery. CLI to kanał do wydawania poleceń serwerowi bez przeglądarki. Deserializacja to odtworzenie obiektu z przesłanych danych, podczas którego program wykonuje instrukcje z tych danych. Lista zakazanych (blacklist) chroni tylko przed tym, co na nią wpisano; lista dozwolonych (allowlist) przed wszystkim innym.
Scenariusz
Normalnie
Z podatnością
Połączenie do kanału CLI bez konta
Brak możliwości działania
Uruchomienie dowolnego programu na serwerze
Ochrona listą zakazanych typów
Blokuje znane typy
Omijana przez obiekt opakowujący
Klucze i hasła w Jenkinsie
Używane tylko do automatycznych wdrożeń
Wykradane przez napastnika
Wdrożenie nowej wersji aplikacji
Kod od zespołu programistów
Możliwa podmiana kodu, który trafia na produkcję jako „legalna” aktualizacja
Jenkins wbudowany w inny produkt
Widoczny na liście komponentów
Ukryty pod inną nazwą handlową
źródło: Pexels, Andrea Piacquadio
3. JAK HAKERZY TO WYKORZYSTUJĄ?
Poniżej typowy przebieg ataku dla tej klasy podatności. To scenariusz poglądowy, a nie odtworzenie konkretnego incydentu. CISA ocenia atak jako automatyzowalny, ze skutkiem całkowitym, a gotowy kod ataku jest dostępny w bazie Exploit-DB.
Etap
Czas
Akcja hakerów
Wynik
1. Skanowanie
T+0 min
Automatyczne wyszukiwanie serwerów Jenkins i odczyt wersji
Lista podatnych serwerów
2. Atak
T+1 min
Wysłanie spreparowanego obiektu przez kanał CLI gotowym narzędziem
Kod napastnika działa na serwerze
3. Kradzież kluczy
T+10 min
Odczyt zapisanych haseł, kluczy SSH, tokenów do repozytoriów i chmury
Dostęp do systemów firmy
4. Utrwalenie
T+1 godz.
Dodanie własnego zadania lub konta w Jenkinsie
Stały dostęp
5. Wykorzystanie
T+1 do 30 dni
Podmiana kodu w procesie wdrożenia, wejście na serwery produkcyjne, koparki kryptowalut
Zainfekowane wydania, kradzież danych
6. Skutek
T+tygodnie
Wyciek danych klientów, szyfrowanie serwerów lub długotrwałe nadużycia
🔴 Scenariusz 1: Jenkins pracowni utrzymującej sklep internetowy jest dostępny z internetu; napastnik dopisuje do kodu sklepu skrypt przechwytujący dane kart płatniczych, który trafia na produkcję przy najbliższym wdrożeniu.
🔴 Scenariusz 2: z Jenkinsa napastnik pobiera klucze do chmury i uruchamia na koszt firmy dziesiątki serwerów do kopania kryptowalut.
🔴 Scenariusz 3: firma kupiła gotowy system testowy, w którym Jenkins jest składnikiem pod inną nazwą; nikt go nie aktualizuje, bo nikt nie wie, że tam jest.
4. DLACZEGO TO RYZYKO DLA TWOJEJ FIRMY?
Serwer automatyzacji to skrzynka z kluczami do wszystkich drzwi: repozytorium kodu, serwerów produkcyjnych, chmury i poczty. Przejęcie go pozwala podmienić to, co firma wypuszcza klientom. Stare maszyny wewnętrzne bywają pomijane w aktualizacjach, a gotowy exploit oznacza, że wystarczy być widocznym.
Obszar biznesu
Potencjalny wpływ
Czas do wystąpienia
Koszty szacunkowe
Operacyjny
Wstrzymanie wdrożeń, odbudowa serwera, wymiana wszystkich kluczy
Dni
30 tys. do 200 tys. PLN
Bezpieczeństwo danych
Kradzież kodu źródłowego, haseł, danych klientów z systemów produkcyjnych
Godziny od ataku
50 tys. do 300 tys. PLN (analiza wszystkich wydań)
Finansowy
Rachunki za nadużytą chmurę, okup, koszty specjalistów
Dni do tygodni
50 tys. do 1 mln PLN łącznie
Reputacyjny
Klienci dostali zainfekowaną wersję aplikacji lub sklepu
Miesiące
100 tys. do 1 mln PLN
Prawny
Przy wycieku danych osobowych zgłoszenie do UODO w 72 godziny; możliwa kara RODO do 20 mln EUR lub 4% rocznego obrotu (zależnie od okoliczności); roszczenia klientów przy wycieku danych kart
72 godziny od wykrycia
30 tys. do 200 tys. PLN (prawnicy, obsługa zgłoszeń), bez ewentualnej kary
Kwoty są orientacyjnymi widełkami dla małej i średniej firmy, nie danymi z tego incydentu.
Interpretacja: ryzyko krytyczne, bo luka nie wymaga logowania, istnieje publiczny exploit, CISA potwierdza zautomatyzowane ataki, EPSS jest bliski 100%, a przejęty serwer daje klucze do całej infrastruktury wdrożeniowej.
5. CO MUSISZ ZROBIĆ NATYCHMIAST?
Lp.
Priorytet
Działanie
Termin
Odpowiedzialny
1
🔴 NATYCHMIAST
Ustalić, czy firma lub wykonawca używa Jenkinsa (także wbudowanego w inne produkty) i w jakiej wersji
Dziś
CTO / wykonawca
2
🔴 NATYCHMIAST
Jeśli wersja jest podatna: wyłączyć stary kanał CLI oparty na serializacji Java lub odciąć serwer od sieci zewnętrznej
Dziś
Administrator Jenkinsa
3
🔴 NATYCHMIAST
Sprawdzić, czy Jenkins jest dostępny z internetu; jeśli tak, ukryć go za VPN
Dziś
Administrator sieci
4
🟠 PILNIE
Zaktualizować Jenkinsa do aktualnego wydania LTS (co najmniej 2.46.2, zalecane najnowsze) wraz z wtyczkami
Do 3 dni
Administrator Jenkinsa
5
🟠 PILNIE
Wymienić wszystkie hasła, klucze SSH i tokeny zapisane w Jenkinsie
Do 7 dni
DevOps
6
🟠 PILNIE
Przejrzeć zadania, konta i ostatnie wdrożenia pod kątem nieznanych zmian
Do 7 dni
Zespół programistów / bezpieczeństwa
7
🟡 WAŻNIE
Uzyskać od dostawców listę składników gotowych produktów (w tym Jenkinsa)
Do 30 dni
CTO
Jeśli aktualizacja nie jest dostępna
Projekt Jenkins wydał poprawki w 2017 roku, a od tamtej pory kolejne wydania. Jeśli serwera nie można dziś zaktualizować, bo obsługuje proces produkcyjny, jest skuteczne działanie pośrednie. Oceny efektywności to ocena ekspercka.
Czasowa miara ochronna
Efektywność
Łatwość wdrożenia
Wyłączenie starego protokołu CLI opartego na serializacji Java (w wydaniach z poprawką jest wyłączony domyślnie)
Wysoka: zamyka drogę tego ataku
Łatwa: jedna zmiana konfiguracji
Odcięcie Jenkinsa od internetu, dostęp tylko przez VPN
Wysoka wobec automatów z internetu
Średnia
Ograniczenie kluczy w Jenkinsie do niezbędnych, osobne klucze dla każdego środowiska
Średnia: ogranicza skutki przejęcia
Średnia
Monitorowanie nowych zadań, kont i procesów na serwerze
Niska jako ochrona, przydatna do wykrycia
Średnia
Przed i po działaniu
Stan
Przed działaniem
Po działaniu
Kanał CLI
Przyjmuje obiekty od każdego
Stary protokół wyłączony, nowy przez HTTP
Dostępność z internetu
Możliwa
Tylko przez VPN
Klucze i hasła
Potencjalnie wykradzione
Wymienione
Wersja Jenkinsa
Sprzed 2017 roku
Aktualne wydanie LTS
Zgodność z terminem CISA
Zaległość od 23 października 2025
Luka zamknięta i udokumentowana
6. KONTEKST I SKALA ZAGROŻENIA
Aspekt
Informacja
Czy jest wykorzystywana?
TAK (potwierdzone przez CISA); atak automatyzowalny, skutek całkowity
TAK: gotowy exploit w Exploit-DB (41965) i Packet Storm
Liczba atakowanych firm
Brak publicznych informacji
Prognoza EPSS
0,997, czyli praktycznie pewność próby wykorzystania (wg analizy źródłowej)
Inne produkty
Oracle odnotował lukę w aktualizacji z kwietnia 2022 (Communications Cloud Native Core Automated Test Suite 1.9.0)
Inne rejestry
Europejska baza ENISA: EUVD-2022-1921
Sygnały zagrożenia dla CVE-2017-1000353CVSS 3.1 (NVD/CISA) 9.8/10 ████████████████████ KRYTYCZNAEPSS (wg źródła) ~99,7% ████████████████████ PRAWIE PEWNECISA KEV TAK ████████████████████ ataki potwierdzonePubliczny exploit TAK ████████████████████ Exploit-DBWiek luki 8 lat ████████████████████ stare serwery nadal widoczne
2017-04-26 Projekt Jenkins publikuje poprawkę (2.57, LTS 2.46.2)2018-01-29 Publikacja rekordu CVE w NVD (9 miesięcy później)2022-04 Oracle ujmuje lukę w kwartalnej aktualizacji bezpieczeństwa2025-10-02 CISA dodaje lukę do katalogu KEV2025-10-23 Termin naprawy wg CISA dla agencji federalnych2026-06-17 Ostatnia aktualizacja wpisu w NVD ... prawie 11 miesięcy od terminu CISA2026-09-17: TUTAJ JESTEŚMY
7. BEZPOŚREDNI LINK DO DZIAŁANIA: checklista dla CTO/CFO
Zapytać zespół i wykonawców: czy mamy Jenkinsa i w jakiej wersji
CTO
DZISIAJ
2
Zapytać: czy Jenkins jest dostępny z internetu
CTO
DZISIAJ
3
Zatwierdzić wyłączenie starego CLI lub odcięcie serwera do czasu aktualizacji
CTO
DZISIAJ
4
Zatwierdzić aktualizację i wymianę wszystkich kluczy zapisanych w Jenkinsie
CTO
DO JUTRA
5
Sprawdzić rachunki za chmurę pod kątem nietypowych kosztów
CFO
DO JUTRA
6
Zarezerwować budżet na przegląd ostatnich wydań aplikacji pod kątem podmian kodu
CFO
DO JUTRA
7
Dopisać do umów z dostawcami obowiązek podania listy składników i ich aktualizacji
CFO
DO JUTRA
8. PYTANIA DO TWOJEGO ZESPOŁU IT
#
Pytanie
Odpowiedź
Priorytet
1
Czy używamy Jenkinsa, także w produktach kupionych od dostawców?
TAK / NIE
🔴
2
Jaka wersja Jenkinsa działa u nas?
[wersja]
🔴
3
Czy Jenkins jest dostępny z internetu?
TAK / NIE
🔴
4
Czy stary protokół CLI jest wyłączony?
TAK / NIE
🔴
5
Kiedy ostatnio wymieniono hasła i klucze zapisane w Jenkinsie?
[data]
🟠
6
Czy w Jenkinsie są zadania lub konta, których nikt nie rozpoznaje?
TAK / NIE
🟠
7
Kto odpowiada za aktualizację Jenkinsa i jego wtyczek?
[osoba]
🟡
Pytania diagnostyczne dla managera
✓ Czy wiem, która maszyna w firmie ma klucze do wszystkich naszych serwerów?
✓ Czy stare, „działające od lat” narzędzia wewnętrzne są w ogóle aktualizowane?
✓ Czy wiemy, z jakich składników zbudowane są produkty kupione od dostawców?
✓ Czy zauważylibyśmy, że ktoś podmienił kod w procesie wdrożenia?
✓ Czy lista podatności, którą dostaję, podaje źródło oceny CVSS?
Podsumowanie
CVE-2017-1000353 to luka z 2017 roku, która pozwala bez logowania uruchomić dowolny kod na serwerze Jenkins przez kanał CLI. Gotowy exploit jest publiczny, CISA potwierdziła ataki w 2025 roku, a przejęty Jenkins daje klucze do kodu i serwerów produkcyjnych. Wyłączenie starego CLI, aktualizacja i wymiana kluczy zamykają to ryzyko, a lista składników od dostawców pozwala znaleźć Jenkinsa ukrytego pod inną nazwą.
Czytaj dalej
Powiązane artykuły
Zestaw zmienia się codziennie, więc przy kolejnej wizycie zobaczysz inny wycinek bloga.
CISA dodała do katalogu KEV lukę z 2015 roku w narzędziu ABRT, która daje napastnikowi uprawnienia root na serwerach RHEL 7 i CentOS 7. Zaktualizuj pakiet abrt i zaplanuj wymianę systemów bez wsparcia.
Wykorzystywana przed wydaniem poprawki luka w mechanizmie aktualizacji Windows 11 i Windows Server 2025 pozwala zwykłemu kontu przejąć komputer. Zainstaluj wrześniową aktualizację dziś.
Przepełnienie bufora w FortiOS i FortiSwitchManager pozwala bez hasła uruchomić kod na zaporze. CISA potwierdza ataki, a przestępcy instalują trojana PivotC2. Zaktualizuj FortiOS i sprawdź zapory pod kątem włamania.
Klikając „Akceptuję”, zgadzasz się na przechowywanie plików cookie przez UXU w celu poprawy działania strony, analizy i wsparcia działań marketingowych.