CVE-2025-34282 w ThingsBoard: podatność SSRF przez złośliwe pliki SVG w Image Upload Gallery - Security Bez Tabu

CVE-2025-34282 w ThingsBoard: podatność SSRF przez złośliwe pliki SVG w Image Upload Gallery

Cybersecurity news

Wprowadzenie do problemu / definicja

W platformie ThingsBoard wykryto podatność typu Server-Side Request Forgery, oznaczoną jako CVE-2025-34282. Problem dotyczy wersji wcześniejszych niż 4.2.1 i wiąże się z przetwarzaniem plików SVG w funkcji Image Upload Gallery. W praktyce oznacza to, że serwer może wykonywać niezamierzone żądania HTTP do wskazanych zasobów zewnętrznych lub wewnętrznych podczas obsługi spreparowanego obrazu.

To szczególnie niebezpieczny scenariusz w środowiskach IoT, gdzie centralna platforma zarządzająca często ma dostęp do usług niedostępnych bezpośrednio z Internetu. Atakujący może więc wykorzystać aplikację jako pośrednika do komunikacji z siecią wewnętrzną.

W skrócie

Podatność umożliwia przeprowadzenie ataku SSRF poprzez przesłanie złośliwego pliku SVG zawierającego odwołanie do zdalnego zasobu. Jeśli backend ThingsBoard przetworzy taki plik i automatycznie rozwiąże zewnętrzne referencje, dojdzie do nawiązania połączenia z adresami wskazanymi przez atakującego.

  • Podatność dotyczy ThingsBoard w wersjach wcześniejszych niż 4.2.1.
  • Wektor ataku opiera się na złośliwych plikach SVG w funkcji uploadu obrazów.
  • Atak może umożliwić dostęp do zasobów wewnętrznych z perspektywy serwera aplikacyjnego.
  • Publicznie dostępne opisy techniczne i proof-of-concept zwiększają ryzyko praktycznego wykorzystania luki.

Kontekst / historia

ThingsBoard to popularna platforma open source do zarządzania urządzeniami IoT, zbierania telemetrii, budowy dashboardów i integracji z usługami zaplecza. Ze względu na swoją rolę często funkcjonuje jako centralny punkt komunikacyjny między urządzeniami, bazami danych, brokerami wiadomości i interfejsami administracyjnymi.

W tym przypadku źródłem problemu jest specyfika formatu SVG. Choć jest on powszechnie traktowany jako format graficzny, w rzeczywistości stanowi dokument XML, który może zawierać odwołania do zewnętrznych zasobów. Jeśli aplikacja po stronie serwera waliduje, renderuje lub konwertuje taki plik bez odpowiednich ograniczeń, może nieświadomie inicjować połączenia do adresów lokalnych, prywatnych lub kontrolowanych przez atakującego.

Znaczenie podatności rośnie również dlatego, że jej opis techniczny został publicznie ujawniony. W efekcie organizacje korzystające z niezałatanych instancji ThingsBoard powinny zakładać podwyższone ryzyko prób skanowania i wykorzystania luki.

Analiza techniczna

Istota błędu sprowadza się do niewłaściwego przetwarzania plików SVG zawierających zewnętrzne referencje, na przykład do obrazów lub innych zasobów wskazywanych przez adres URL. Jeżeli komponent backendowy automatycznie pobiera taki zasób podczas walidacji, podglądu lub renderowania, dochodzi do klasycznego SSRF.

Scenariusz ataku obejmuje przesłanie złośliwego pliku SVG do interfejsu odpowiedzialnego za upload obrazu, a następnie wykorzystanie tego zasobu w interfejsie aplikacji, na przykład w niestandardowym widżecie. W efekcie serwer może wykonać żądania do adresów, które powinny być dostępne wyłącznie lokalnie lub z sieci prywatnej.

Z perspektywy technicznej zagrożenie wynika z połączenia kilku czynników:

  • akceptowania SVG jako prawidłowego formatu graficznego,
  • rozwiązywania zewnętrznych odwołań przez komponent serwerowy,
  • wykonywania żądań z kontekstu infrastruktury ThingsBoard, a nie z poziomu przeglądarki użytkownika.

Taki model może umożliwić sondowanie usług działających na localhost, mapowanie portów i endpointów HTTP, a także interakcję z panelami administracyjnymi lub usługami metadanych chmurowych. W środowiskach IoT i OT nawet częściowy wgląd w wewnętrzną powierzchnię sieci może mieć wysoką wartość operacyjną dla atakującego.

Konsekwencje / ryzyko

Najważniejszą konsekwencją CVE-2025-34282 jest możliwość obejścia segmentacji sieci przy użyciu zaufanego serwera aplikacyjnego jako pośrednika. Skutki incydentu będą zależeć od architektury wdrożenia, poziomu izolacji aplikacji oraz zakresu dostępu sieciowego przyznanego platformie.

  • dostęp do interfejsów administracyjnych niewystawionych publicznie,
  • enumeracja hostów i portów w sieci prywatnej,
  • pozyskanie informacji o usługach wewnętrznych,
  • potencjalna interakcja z lokalnymi lub chmurowymi endpointami,
  • przygotowanie gruntu pod dalsze etapy ataku.

Ryzyko rośnie szczególnie wtedy, gdy ThingsBoard działa z szerokimi uprawnieniami sieciowymi, ma dostęp do infrastruktury zarządczej lub gdy role inne niż pełny administrator mogą przesyłać obrazy i osadzać je w komponentach interfejsu. Dodatkowym czynnikiem zwiększającym zagrożenie jest brak filtracji ruchu wychodzącego.

Rekomendacje

Podstawowym działaniem naprawczym jest aktualizacja ThingsBoard do wersji 4.2.1 lub nowszej. Organizacje, które nie mogą wdrożyć poprawki natychmiast, powinny zastosować środki kompensacyjne ograniczające możliwość wykorzystania błędu.

  • wyłączyć lub ściśle ograniczyć obsługę SVG w funkcjach uploadu, jeśli nie jest niezbędna biznesowo,
  • wdrożyć sanitizację SVG z usuwaniem zewnętrznych referencji i aktywnej zawartości,
  • stosować listy dozwolonych schematów, hostów i typów zasobów,
  • wyłączyć automatyczne pobieranie zasobów zewnętrznych przez biblioteki renderujące,
  • ograniczyć uprawnienia ról mogących przesyłać obrazy i tworzyć niestandardowe widżety,
  • wprowadzić segmentację sieci i blokady dostępu do localhost, adresów prywatnych oraz usług metadanych,
  • zastosować egress filtering na poziomie hosta, kontenera, klastra lub zapory,
  • monitorować logi pod kątem nietypowych żądań wychodzących inicjowanych przez komponenty mediów i dashboardów,
  • przeanalizować wcześniej przesłane pliki SVG i usunąć obiekty pochodzące z niezaufanych źródeł.

Zespoły bezpieczeństwa powinny także przeprowadzić testy ukierunkowane na próby połączeń do adresów 127.0.0.1, 169.254.169.254 oraz zakresów RFC1918, a także sprawdzić inne miejsca w aplikacji, w których backend pobiera zasoby na podstawie danych dostarczonych przez użytkownika.

Podsumowanie

CVE-2025-34282 pokazuje, że nawet pozornie rutynowa funkcja przesyłania grafiki może stać się punktem wejścia do poważnego ataku sieciowego. W ThingsBoard problem wynika z przetwarzania plików SVG zawierających zewnętrzne odwołania, co otwiera drogę do realizacji SSRF i potencjalnej interakcji z usługami wewnętrznymi.

Dla organizacji rozwijających lub utrzymujących środowiska IoT oznacza to konieczność szybkiej aktualizacji, ograniczenia przetwarzania SVG oraz wzmocnienia kontroli ruchu wychodzącego. To właśnie architektura sieci i poziom izolacji aplikacji w największym stopniu zdecydują o rzeczywistej skali zagrożenia.

Źródła

  1. Exploit Database: ThingsBoard IoT Platform 4.2.0 – Server-Side Request Forgery (SSRF) – https://www.exploit-db.com/exploits/52551
  2. NVD CVE-2025-34282 Detail – https://nvd.nist.gov/vuln/detail/CVE-2025-34282
  3. ThingsBoard GitHub Repository – https://github.com/thingsboard/thingsboard
  4. VulnCheck Advisory: ThingsBoard < v4.2.1 SVG Image SSRF – https://www.vulncheck.com/advisories/thingsboard-svg-image-ssrf
  5. ThingsBoard Release 4.2.1 – https://github.com/thingsboard/thingsboard/releases/tag/v4.2.1