Luka oznaczona jako CVE-2026-13749 otrzymała ocenę 8.8 w skali CVSS (Common Vulnerability Scoring System — skala 0-10 oceniająca powagę luki) [cve]. Dotyczy ona popularnego narzędzia wiersza poleceń Snowflake CLI, używanego przez zespoły data science i DevOps do zarządzania platformą danych Snowflake. Podatność umożliwia zdalne wykonanie kodu na maszynie, na której uruchomiono podatne narzędzie. Problem dotyczy wszystkich wersji wcześniejszych niż 3.19 1.

Atak wymaga interakcji użytkownika, ale jego scenariusz jest realistyczny w środowiskach deweloperskich. Polega na skłonieniu ofiary do uruchomienia procesu budowania lub wdrażania aplikacji na spreparowanym przez atakującego projekcie 2. W praktyce może to oznaczać sklonowanie złośliwego repozytorium z publicznego serwisu lub otwarcie projektu otrzymanego od rzekomego współpracownika. Dla polskich firm, które coraz częściej opierają analitykę biznesową o chmurowe hurtownie danych takie jak Snowflake, ryzyko dotyczy bezpośrednio bezpieczeństwa stacji roboczych deweloperów i integralności systemów CI/CD (Continuous Integration/Continuous Deployment — procesy ciągłej integracji i wdrażania).

TL;DR

  • Produkt: Snowflake CLI (Command Line Interface — interfejs wiersza poleceń), wersje wcześniejsze niż 3.19.
  • Luka: CVE-2026-13749, ocena CVSS 8.8 (High).
  • Wektor: Spreparowany projekt Snowpark, który podczas procesu budowania lub wdrażania aplikacji może prowadzić do zdalnego wykonania kodu (RCE — Remote Code Execution) 3 4.
  • Wskaźniki kompromitacji (IoC): Brak publicznych, specyficznych IoC (Indicators of Compromise — wskaźniki kompromitacji). Kluczowym wskaźnikiem jest używanie podatnej wersji narzędzia i uruchamianie go na niezaufanym kodzie źródłowym.
  • Kogo dotyczy: Deweloperzy, analitycy danych, inżynierowie DevOps i MLOps w organizacjach korzystających z platformy Snowflake, w tym w polskich firmach z sektora finansowego, e-commerce i technologicznego.
  • Pierwszy ruch reagowania: Natychmiastowa identyfikacja wszystkich instancji Snowflake CLI w organizacji i ręczna aktualizacja do wersji 3.19 lub nowszej 5 6.

Wektor ataku

Podatność CVE-2026-13749 zidentyfikowano w mechanizmie szablonów wywołania zwrotnego procesora adnotacji Snowpark w Snowflake CLI 1. Snowpark to framework pozwalający deweloperom pisać kod przetwarzający dane w językach takich jak Python, który następnie jest wykonywany na silniku Snowflake. Narzędzie CLI pomaga w pakowaniu i wdrażaniu tego kodu.

Problem leży w niewystarczającej neutralizacji danych wejściowych pochodzących z projektu. Atakujący może przygotować specjalnie spreparowaną zawartość projektu, na przykład w plikach konfiguracyjnych lub w samym kodzie 4. Gdy deweloper, używając podatnej wersji Snowflake CLI, uruchomi proces budowania (snow snowpark build) lub wdrażania (snow snowpark deploy) na takim złośliwym projekcie, narzędzie niepoprawnie przetworzy te dane. W rezultacie spreparowana zawartość jest wstawiana bezpośrednio do generowanego na bieżąco skryptu Pythona, który następnie jest wykonywany 4.

Skutkuje to wykonaniem dowolnego kodu dostarczonego przez atakującego 3. Co istotne, kod ten uruchamiany jest w lokalnym kontekście bezpieczeństwa użytkownika, który wywołał polecenie Snowflake CLI 7 8. Jeśli jest to deweloper na swojej stacji roboczej, atakujący może zyskać uprawnienia tego dewelopera. Jeśli proces jest częścią zautomatyzowanego pipeline’u CI/CD, atakujący może przejąć kontrolę nad serwerem budującym.

Konsekwencje takiego ataku mogą być poważne:

  1. Kradzież poświadczeń: Operator może wykraść klucze API, tokeny dostępowe, hasła i klucze SSH przechowywane na maszynie dewelopera lub w zmiennych środowiskowych systemu CI/CD.
  2. Ruch boczny: Przejęta maszyna staje się przyczółkiem do dalszych ataków wewnątrz sieci firmowej.
  3. Sabotaż i ransomware: Operator może zniszczyć dane, zaszyfrować pliki lub wstrzyknąć złośliwy kod do produkcyjnych aplikacji (atak na łańcuch dostaw oprogramowania).
  4. Naruszenie danych: W kontekście polskich firm, skompromitowanie stacji roboczej z dostępem do danych klientów przechowywanych w Snowflake może prowadzić do naruszenia ochrony danych osobowych, podlegającego zgłoszeniu do UODO (Urząd Ochrony Danych Osobowych) zgodnie z RODO.

Wskaźniki kompromitacji

Charakter tej luki sprawia, że nie istnieją uniwersalne wskaźniki kompromitacji, takie jak hashe plików czy adresy IP serwerów C2 (Command and Control — serwer kontrolujący zainfekowane maszyny). Atak jest osadzony w logice działania samego narzędzia i zależy od zawartości przetwarzanego projektu.

Kluczowym wskaźnikiem ryzyka jest obecność podatnej wersji Snowflake CLI w środowisku. Zespoły bezpieczeństwa powinny skupić się na proaktywnej identyfikacji, a nie na reaktywnym poszukiwaniu śladów ataku.

Można sprawdzić zainstalowaną wersję za pomocą polecenia:

snow --version

Wynik niższy niż 3.19 oznacza, że instalacja jest podatna.

Dodatkowo, należy audytować logi systemów CI/CD oraz stacji roboczych pod kątem nietypowych procesów potomnych uruchamianych przez proces snow. Podejrzane mogą być próby nawiązywania połączeń sieciowych do nieznanych domen, uruchamianie interpreterów powłoki (np. bash, powershell) lub zapisywanie plików w nietypowych lokalizacjach.

Co zrobić w 24-48h

Konieczne jest podjęcie natychmiastowych działań w celu mitygacji ryzyka. Rekomendujemy następujące kroki, z podziałem na odpowiedzialność.

Dla zespołów deweloperskich i DevOps

  1. Sprawdź wersję: Na swojej stacji roboczej oraz na wszystkich agentach CI/CD wykonaj polecenie snow --version. Zidentyfikuj wszystkie instancje w wersji niższej niż 3.19.
  2. Zaktualizuj narzędzie: Aktualizacja musi zostać przeprowadzona ręcznie 6. Snowflake CLI jest dystrybuowane na kilka sposobów (pip, conda, instalatory natywne). Należy postępować zgodnie z oficjalną dokumentacją dla używanej metody instalacji, aby zainstalować wersję 3.19 lub nowszą 5.
  3. Weryfikuj źródła: Jako dobrą praktykę, nigdy nie uruchamiaj procesów budowania na kodzie pochodzącym z niezaufanych źródeł bez uprzedniej analizy. Dotyczy to zwłaszcza publicznych repozytoriów i projektów demonstracyjnych.

Dla zespołów bezpieczeństwa (SOC/Blue Team)

  1. Zarządzanie podatnościami: Uruchom skanowanie zasobów (stacje robocze, serwery) w poszukiwaniu binarnego pliku snow i zautomatyzuj weryfikację jego wersji. Potraktuj każdą wersję < 3.19 jako krytyczną podatność do załatania.
  2. Monitoring: Wdróż reguły monitorujące dla systemów EDR (Endpoint Detection and Response) i SIEM, które mogą alarmować o nietypowej aktywności procesu snow. Szukaj prób odwołań do sieci, uruchamiania powłok systemowych czy modyfikacji plików poza katalogiem projektu.
  3. Komunikacja: Poinformuj zespoły deweloperskie o zagrożeniu i konieczności ręcznej aktualizacji. Podkreśl, że automatyczne mechanizmy aktualizacji mogą nie objąć tego narzędzia.
  4. Kontekst polski: Dla podmiotów kluczowych i ważnych, które wkrótce będą podlegać dyrektywie NIS2, incydent wynikający z tej luki może być traktowany jako przykład ataku na łańcuch dostaw oprogramowania. Warto przeanalizować ten scenariusz w ramach oceny ryzyka.

Opisane działania mają na celu ograniczenie ryzyka. Nie zastępują one pełnego audytu bezpieczeństwa ani konsultacji ze specjalistami. Rekomendowane podejście to prewencja poprzez natychmiastową aktualizację oprogramowania.

Źródła

Zobacz też

Przypisy

  1. Luka CVE-2026-13749 dotyczy nieprawidłowej neutralizacji w szablonie wywołania zwrotnego procesora adnotacji Snowpark w Snowflake CLI. — nvd.nist.gov › CVE 2026 13749 2

  2. Pomyślne wykorzystanie luki wymaga, aby ofiara uruchomiła odpowiedni proces tworzenia pakietów lub wdrażania z zawartością projektu kontrolowaną przez atakującego. — nvd.nist.gov › CVE 2026 13749

  3. Luka umożliwia zdalne wykonanie kodu (arbitrary code execution) podczas tworzenia pakietów aplikacji lub wdrażania. — nvd.nist.gov › CVE 2026 13749 2

  4. Atakujący może wykorzystać tę lukę, dostarczając spreparowaną zawartość projektu, która jest interpolowana do wygenerowanego kodu Pythona. — nvd.nist.gov › CVE 2026 13749 2 3

  5. Poprawka jest dostępna w wersji Snowflake CLI 3.19. — nvd.nist.gov › CVE 2026 13749 2

  6. Użytkownicy muszą ręcznie zaktualizować oprogramowanie. — nvd.nist.gov › CVE 2026 13749 2

  7. Skutkuje to wykonaniem przez Snowflake CLI kodu kontrolowanego przez atakującego w lokalnym kontekście użytkownika uruchamiającego CLI. — nvd.nist.gov › CVE 2026 13947

  8. Wynikający z tego kod działa z uprawnieniami lokalnego kontekstu wykonawczego. — nvd.nist.gov › CVE 2026 13749