Pomoc zdalna
alerty bezpieczeństwa

Skaner bezpieczeństwa, który kradł klucze: co firma musi wiedzieć o CVE-2026-33634

CVE-2026-33634 to nie błąd w kodzie, tylko celowo podmienione wydanie skanera Trivy, które kradło tokeny, klucze SSH i hasła z firmowych procesów CI/CD. Poniżej: chronologia ataku, lista bezpiecznych wersji i kolejność działań naprawczych.

  • Paweł Niedźwiecki
Paweł Niedźwiecki
25 sierpnia 2026 6 min czytania
ci/cd

Z tego tekstu dowiesz się, czym jest podatność CVE-2026-33634, dlaczego amerykańska agencja CISA wpisała ją do katalogu aktywnie wykorzystywanych luk i jakie decyzje musi podjąć firma, która używała skanera Trivy w swoich procesach wdrożeniowych. Kolejne sekcje opisują mechanizm ataku prostym językiem, chronologię zdarzeń, listę wersji zagrożonych i bezpiecznych oraz kolejność działań naprawczych.

Co się stało

CVE-2026-33634 to nie przypadkowy błąd w kodzie. To celowe osadzenie złośliwego kodu w legalnym narzędziu, co w klasyfikacji CWE nosi numer 506. Narzędziem tym jest Trivy, skaner bezpieczeństwa rozwijany przez Aqua Security, którego firmy używają do automatycznego sprawdzania kodu i obrazów kontenerów w procesach CI/CD (zautomatyzowanym cyklu budowania, testowania i wdrażania oprogramowania). Według wpisu w bazie NVD atakujący 19 marca 2026 roku użyli przejętych poświadczeń, żeby opublikować złośliwe wydanie Trivy 0.69.4 i podmienić wskazania wersji w dwóch towarzyszących akcjach GitHub: trivy-action oraz setup-trivy.

Według katalogu CISA podatność trafiła do wykazu KEV 26 marca 2026 roku pod nazwą Aquasecurity Trivy Embedded Malicious Code Vulnerability, z terminem działania wyznaczonym na 9 kwietnia 2026 roku.

Element

Szczegóły

Identyfikator

CVE-2026-33634 (ENISA: EUVD-2026-14601)

Typ

Osadzony złośliwy kod (CWE-506), kompromitacja łańcucha dostaw

Dotknięte produkty

Trivy (Aqua Security), akcje trivy-action i setup-trivy; według NVD także pakiety litellm i telnyx

Wpis do CISA KEV

26 marca 2026, termin działania 9 kwietnia 2026 (według CISA)

Ocena CVSS

9,4 w skali 4.0 (ocena GitHuba jako CNA) oraz 8,8 w skali 3.1 (ocena NVD); obie według rekordu NVD

Wskaźnik EPSS

0,5916, percentyl 0,9907, czyli górny 1 procent (stan na 23 sierpnia 2026)

Mechanizm ataku w prostych słowach

Wyobraź sobie firmę, która zatrudnia agencję ochrony. Ochroniarz co noc obchodzi biuro i sprawdza, czy drzwi są zamknięte. Żeby mógł wykonać pracę, dostaje klucze do wszystkich pomieszczeń. Pewnego dnia oszust przejmuje agencję i podmienia legitymacje. Od tej pory człowiek robiący obchód nadal kontroluje drzwi, ale przy okazji kopiuje każdy klucz i wynosi kopie na zewnątrz. Raporty z obchodów wyglądają jak zawsze.

Trivy pracuje jak taki ochroniarz. Proces CI/CD musi dać skanerowi dostęp do repozytoriów, rejestrów kontenerów i chmury, inaczej narzędzie nie pobrałoby niczego do sprawdzenia. W pamięci procesu znajdują się więc tokeny, klucze SSH, poświadczenia chmurowe i hasła do baz danych. Złośliwa wersja wykorzystała dokładnie ten dostęp. Według CISA skutkiem kompromitacji jest możliwość uzyskania dostępu do wszystkiego w środowisku CI/CD, w tym do wrażliwej konfiguracji przechowywanej w pamięci.

Scenariusz

Normalne działanie

Po podmianie wersji

Zadanie skanera

Wykrywa luki w kodzie i obrazach

Wykrywa luki i równolegle zbiera sekrety

Widoczny wynik

Raport o podatnościach

Raport wygląda normalnie, sekrety trafiają na zewnątrz

Poświadczenia firmy

Zostają w środowisku CI/CD

Są szyfrowane i wysyłane do atakujących

Chronologia: dwie fale jednego ataku

Według wpisu NVD marcowy atak nie był początkiem historii. Kampania wymierzona w łańcuch dostaw rozpoczęła się pod koniec lutego 2026 roku, a pierwsze ujawnienie nastąpiło 1 marca 2026. Po tym zdarzeniu poświadczenia rotowano nieatomowo, czyli nie wszystkie naraz. Według NVD w kilkudniowym oknie rotacji atakujący mógł użyć wciąż ważnego starego tokena, żeby wyprowadzić świeżo zrotowane sekrety, i w ten sposób utrzymać dostęp. Z utrzymanego dostępu wynikła fala z 19 marca.

Data (2026)

Zdarzenie

Źródło

koniec lutego

Start kampanii na łańcuch dostaw

NVD

1 marca

Pierwsze ujawnienie; rotacja poświadczeń przeprowadzona nieatomowo

NVD

19 marca

Publikacja złośliwego Trivy 0.69.4; nadpisanie 76 z 77 tagów w trivy-action i wszystkich 7 tagów w setup-trivy; wykrycie i usunięcie artefaktów tego samego dnia

NVD, Microsoft

23 marca

Publikacja rekordu CVE w NVD; kompromitacja Checkmarx KICS

NVD, Microsoft

24 marca

Złośliwe wersje LiteLLM

Microsoft

26 marca

Wpis do katalogu CISA KEV; ENISA wskazuje tę datę jako początek wykorzystywania

CISA, ENISA

9 kwietnia

Termin działania wyznaczony w katalogu KEV

CISA

27 kwietnia

Aktualizacja Microsoftu o pakiecie npm Bitwarden CLI 2026.4.0 i repozytorium checkmarx/kics na Docker Hub

Microsoft

Jak przebiegała kradzież sekretów

Najpełniejszy opis mechanizmu opublikował Microsoft. Według niego atak uderzał w samodzielnie hostowane runnery GitHub Actions, czyli maszyny firmy, na których fizycznie wykonuje się proces CI/CD. Złośliwy kod wyszukiwał procesy Runner.Worker i Runner.Listener, a potem uruchamiał zakodowany w base64 ładunek napisany w Pythonie.

Według Microsoftu ładunek odpytywał punkty metadanych chmury pod adresami 169.254.170.2 (ECS) oraz 169.254.169.254 (EC2), czyli lokalne usługi, z których maszyna w chmurze odczytuje własne poświadczenia, wyliczał sekrety Kubernetes oraz odczytywał konfiguracje WireGuard, logi uwierzytelniania i ciągi połączeń do baz danych.

Tomasz Kaczmarek
Tomasz Kaczmarek

Mogę Ci jakoś pomóc?

Skradzione dane były szyfrowane hybrydowo (AES-256-CBC oraz RSA), pakowane do archiwum tpcp.tar.gz i wysyłane żądaniem HTTP POST na domenę scan.aquasecurtiy[.]org, podobną do prawdziwej domeny producenta. Technika nosi nazwę typosquattingu. Po wysłaniu danych uruchamiany był legalny skan Trivy, więc na pierwszy rzut oka wszystko działało poprawnie.

Według Microsoftu atak wykorzystał dwie właściwości Gita i GitHuba: zmienność tagów oraz samodeklarowaną tożsamość commita. Tag wersji to etykieta, którą można przepiąć na inny kod bez zmiany nazwy, więc każdy pipeline odwołujący się do akcji po tagu uruchomił kod atakującego przy następnym przebiegu, bez widocznej zmiany w metadanych wydania. Według Microsoftu zespół Trivy wykrył kompromitację jeszcze 19 marca i usunął złośliwe artefakty z kanałów dystrybucji, lecz każdy proces uruchomiony wcześniej mógł już przekazać sekrety na zewnątrz.

Co znalazło się w zasięgu ataku

Katalog CISA wymienia wprost, co znajduje się w zasięgu ataku: tokeny, klucze SSH, poświadczenia chmurowe, hasła do baz danych i wrażliwa konfiguracja w pamięci. Taki zestaw otwiera drogę do infrastruktury produkcyjnej, danych klientów i kolejnych serwerów. Według katalogu CISA nie wiadomo, czy podatność wykorzystano w kampaniach ransomware (pole oznaczono jako Unknown). Microsoft jako sprawcę wskazuje grupę TeamPCP, lecz poza tym jednym źródłem atrybucja nie została potwierdzona.

Wersje zagrożone i bezpieczne

Komponent

Wersje zagrożone (według NVD)

Wersje bezpieczne

Trivy (binarium i obraz kontenera)

0.69.4

0.69.2 i 0.69.3

trivy-action

od 0.0.1 do 0.34.2

0.35.0

setup-trivy

od 0.2.0 do 0.2.6 przed odtworzeniem tagu

0.2.6 odtworzony na bezpiecznym commicie

Według NVD rekord obejmuje także pakiety spoza ekosystemu Trivy: litellm w wersjach 1.82.7 i 1.82.8 oraz telnyx dla Pythona w wersjach 4.87.1 i 4.87.2. ENISA, która prowadzi podatność pod identyfikatorem EUVD-2026-14601, wymienia trzech dostawców i pięć produktów: aquasecurity (trivy, trivy-action, setup-trivy), berriai (LiteLLM) oraz team-telnyx (telnyx). CISA zaznacza, że pełna naprawa wymaga dodatkowych wytycznych producentów, ponieważ chodzi o kompromitację łańcucha dostaw.

Kolejność działań naprawczych

Kolejność

Działanie

Podstawa

1

Ustalić, czy w firmowych procesach działały zagrożone wersje Trivy, trivy-action, setup-trivy, litellm lub telnyx, i kiedy dokładnie

zakres z rekordu NVD

2

Zaktualizować komponenty do wersji bezpiecznych z tabeli powyżej

wersje bezpieczne

3

Uznać wszystkie sekrety dostępne dla dotkniętych pipeline'ów za ujawnione i zrotować je natychmiast

zalecenie z rekordu NVD

4

Rotację przeprowadzić w całości, bez okna, w którym stare poświadczenie nadal działa

wniosek z przebiegu ataku opisanego przez NVD

5

Sprawdzić, czy w organizacji GitHub nie pojawiło się repozytorium tpcp-docs, co wskazuje na udaną kradzież sekretów

wskaźnik z rekordu NVD

6

Przypiąć akcje GitHub do pełnych, niezmiennych skrótów SHA commitów zamiast do tagów wersji

zalecenie Microsoftu

7

Ograniczyć katalog dozwolonych akcji politykami na poziomie organizacji

zalecenie Microsoftu

8

Przeszukać logi pod kątem połączeń wychodzących na scan.aquasecurtiy[.]org oraz archiwów tpcp.tar.gz

wskaźniki opisane przez Microsoft

Oceny ryzyka: CVSS i EPSS

Podatność dostała dwie oceny CVSS i obie widnieją w rekordzie NVD. GitHub jako CNA wystawił 9,4 w skali CVSS 4.0, czyli poziom krytyczny, z wysokim wpływem także na systemy następcze. NVD podał własną ocenę podstawową 8,8 w skali CVSS 3.1 (poziom wysoki), która wpływu na systemy następcze nie uwzględnia. Drugi wskaźnik to EPSS publikowany przez FIRST: wynik 0,5916 przy percentylu 0,9907 (stan na 23 sierpnia 2026) plasuje tę podatność w górnym jednym procencie ocenianych luk.

Pytania do zespołu technicznego

  1. Czy w firmowych pipeline'ach uruchomiono kiedykolwiek Trivy 0.69.4, trivy-action w wersji do 0.34.2 albo setup-trivy w wersji do 0.2.6, i kiedy dokładnie?
  2. Czy w zależnościach występują litellm 1.82.7 lub 1.82.8 albo telnyx 4.87.1 lub 4.87.2?
  3. Czy wszystkie sekrety widoczne dla tych procesów zostały zrotowane, łącznie i jednocześnie?
  4. Czy w organizacji GitHub nie istnieje repozytorium o nazwie tpcp-docs?
  5. Czy akcje GitHub przypięto do pełnych skrótów commitów, a nie do ruchomych tagów?
  6. Czy polityki organizacji ograniczają listę dozwolonych akcji?
  7. Czy logi przeszukano pod kątem domeny scan.aquasecurtiy[.]org i plików tpcp.tar.gz?

Aktualizacja zamyka furtkę, która pozwoliła wykraść dane, ale nie cofa kradzieży, która mogła już się wydarzyć. W tym przypadku łatka to dopiero początek pracy: dopiero rotacja poświadczeń i trwałe przypięcie akcji do niezmiennych commitów ograniczają skutki opisane przez CISA i Microsoft.

Czytaj dalej

Powiązane artykuły

Zestaw zmienia się codziennie, więc przy kolejnej wizycie zobaczysz inny wycinek bloga.

Masz to samo u siebie?

Możemy się tym zająć

Krótka rozmowa wystarczy, żeby ocenić zakres prac i podać widełki kosztu. Bez zobowiązań.