CVE-2026-26157: BusyBox 1.36.1 i 1.37.0 podatne na Path Traversal przez symlinki w archiwach - Security Bez Tabu

CVE-2026-26157: BusyBox 1.36.1 i 1.37.0 podatne na Path Traversal przez symlinki w archiwach

Cybersecurity news

Wprowadzenie do problemu / definicja

BusyBox, popularny zestaw narzędzi systemowych wykorzystywany w Linuksie, systemach embedded i kontenerach, został dotknięty podatnością oznaczoną jako CVE-2026-26157. Problem dotyczy obsługi archiwów i błędnej sanitizacji celów dowiązań symbolicznych podczas rozpakowywania plików.

Podatność należy do klasy Path Traversal. W praktyce oznacza to możliwość obejścia ograniczeń ścieżek i uzyskania dostępu do lokalizacji poza katalogiem docelowym ekstrakcji. W tym przypadku atakujący może przygotować archiwum zawierające złośliwy symlink, który po rozpakowaniu prowadzi do wrażliwych zasobów systemowych.

W skrócie

Podatne są wersje BusyBox 1.36.1 oraz 1.37.0. Błąd występuje w logice odpowiedzialnej za wykrywanie niebezpiecznych prefiksów ścieżek w komponentach obsługujących archiwa, przede wszystkim w narzędziu tar, ale również w unzip, rpm i ar.

  • Identyfikator podatności: CVE-2026-26157
  • Typ błędu: Path Traversal przez symlinki
  • Wpływ: możliwość odczytu danych spoza katalogu ekstrakcji
  • Najbardziej narażone środowiska: systemy embedded, kontenery, pipeline’y CI/CD i automatyczne procesy importu archiwów

Kontekst / historia

BusyBox od lat stanowi podstawowy komponent wielu lekkich dystrybucji Linuksa, urządzeń IoT, obrazów kontenerowych i środowisk recovery. Ze względu na swoją niewielką wagę i szeroką funkcjonalność jest często wdrażany tam, gdzie liczy się oszczędność zasobów i prostota utrzymania.

To właśnie dlatego błędy w jego modułach archiwizacyjnych mają znaczenie wykraczające poza pojedynczy system. W praktyce mogą wpływać na procesy automatycznego wdrażania, aktualizacji firmware, importu paczek czy przetwarzania backupów. Publicznie opisany scenariusz ataku pokazuje, że odpowiednio przygotowane archiwum może doprowadzić do utworzenia dowiązania symbolicznego rozwiązującego się poza katalogiem roboczym, mimo obecności mechanizmu filtrowania ścieżek.

Analiza techniczna

Źródłem problemu jest funkcja strip_unsafe_prefix() w module archival/libarchive/unsafe_prefix.c. Mechanizm ochronny sprawdza, czy ścieżka zawiera wzorce wskazujące na próbę traversal, jednak logika oparta na dopasowaniu sekwencji /../ nie obejmuje wszystkich przypadków.

Najważniejsza luka polega na tym, że filtr nie wykrywa ścieżek kończących się na /... To pozornie drobne przeoczenie umożliwia przygotowanie symlinku, którego cel wygląda niegroźnie dla prostego mechanizmu walidacji, ale po rozstrzygnięciu przez system plików prowadzi do katalogu wyżej w hierarchii.

Przykładowo, jeśli archiwum zawiera dowiązanie symboliczne wskazujące na ścieżkę typu /etc/pam.d/.., filtr może go nie zatrzymać. Po utworzeniu takiego symlinku system traktuje tę ścieżkę jako odwołanie do katalogu /etc. W efekcie element rozpakowanego archiwum może zapewnić pośredni dostęp do plików systemowych znajdujących się poza zamierzonym katalogiem ekstrakcji.

  • Atakujący przygotowuje złośliwe archiwum TAR.
  • Archiwum zawiera symlink prowadzący do ścieżki zakończonej ...
  • BusyBox rozpakowuje archiwum bez zablokowania niebezpiecznego celu linku.
  • Symlink zostaje utworzony i może wskazywać na wrażliwy katalog systemowy.
  • Dalszy odczyt takiego obiektu może ujawnić dane spoza katalogu roboczego.

Nie jest to klasyczny przypadek nadpisania plików podczas ekstrakcji. Zagrożenie polega przede wszystkim na obejściu kontroli ścieżek i uzyskaniu nieautoryzowanego dostępu do danych, które aplikacja lub operator błędnie uznają za bezpiecznie odizolowane.

Konsekwencje / ryzyko

Najbardziej bezpośrednią konsekwencją jest ujawnienie informacji. Jeśli system automatycznie przetwarza rozpakowane pliki i zakłada, że wszystkie pozostają wewnątrz wskazanego katalogu, może nieświadomie odczytać zawartość wrażliwych lokalizacji systemowych.

Dotyczy to między innymi konfiguracji usług, danych uwierzytelniających, sekretów aplikacyjnych, metadanych środowiska oraz innych plików istotnych operacyjnie. Ryzyko rośnie szczególnie wtedy, gdy proces ekstrakcji działa z podwyższonymi uprawnieniami albo jest częścią większego, zautomatyzowanego łańcucha przetwarzania.

  • wyciek konfiguracji i danych systemowych,
  • ekspozycja poświadczeń lub sekretów aplikacyjnych,
  • naruszenie bezpieczeństwa pipeline’ów CI/CD,
  • zwiększone ryzyko w środowiskach kontenerowych i embedded,
  • możliwość wykorzystania podatności jako elementu większego łańcucha ataku.

Szczególnie narażone są organizacje, które automatycznie rozpakowują archiwa pochodzące od użytkowników, partnerów biznesowych, systemów backupowych lub zewnętrznych źródeł. Jeżeli po ekstrakcji nie jest wykonywana pełna kanonikalizacja ścieżek i walidacja typów plików, podatność może zostać łatwo przeoczona.

Rekomendacje

Podstawowym działaniem powinno być zidentyfikowanie obecności BusyBox 1.36.1 oraz 1.37.0 w obrazach kontenerowych, urządzeniach embedded, maszynach wirtualnych i hostach systemowych. Następnie należy wdrożyć poprawioną wersję, jeśli jest już dostępna w używanej dystrybucji lub od dostawcy obrazu.

Nawet po aktualizacji warto wdrożyć dodatkowe zabezpieczenia, ponieważ obsługa nieufnych archiwów zawsze wiąże się z podwyższonym ryzykiem bezpieczeństwa.

  • nie rozpakowywać nieufnych archiwów z uprawnieniami roota,
  • izolować proces ekstrakcji w kontenerze, sandboxie lub środowisku tymczasowym,
  • blokować albo jawnie walidować dowiązania symboliczne w importowanych archiwach,
  • po ekstrakcji wykonywać kanonikalizację ścieżek i odrzucać obiekty wskazujące poza katalog roboczy,
  • monitorować procesy importu pod kątem użycia nietypowych ścieżek absolutnych i symlinków,
  • przeanalizować aplikacje, które przetwarzają rozpakowane pliki bez dodatkowej walidacji.

W praktyce organizacje powinny traktować zawartość archiwum jako nieufną do momentu pełnego sprawdzenia metadanych, ścieżek i typów plików. To szczególnie ważne w łańcuchach dostaw oprogramowania, gdzie nawet niewielki błąd pomocniczego narzędzia może stać się wektorem kompromitacji większego środowiska.

Podsumowanie

CVE-2026-26157 pokazuje, że niepełna walidacja ścieżek w narzędziach archiwizacyjnych może prowadzić do realnego naruszenia bezpieczeństwa. W BusyBox problem wynika z błędnego filtrowania celów dowiązań symbolicznych, co pozwala obejść ograniczenia katalogu ekstrakcji i uzyskać dostęp do danych znajdujących się poza nim.

Dla zespołów bezpieczeństwa i administratorów oznacza to konieczność pilnego przeglądu środowisk korzystających z BusyBox, wdrożenia aktualizacji oraz uzupełnienia procesów ekstrakcji o izolację i dodatkową walidację. To ważne przypomnienie, że nawet niewielkie narzędzia systemowe mogą mieć istotny wpływ na bezpieczeństwo całej infrastruktury.

Źródła

  1. Exploit Database – BusyBox 1.37.0 – Path Traversal – Multiple webapps Exploit — https://www.exploit-db.com/exploits/52538
  2. NVD – CVE-2026-26157 — https://nvd.nist.gov/vuln/detail/CVE-2026-26157
  3. BusyBox Official Downloads — https://busybox.net/downloads/