Sztuczna inteligencja & Cyberbezpieczeństwo

LangSmith z krytyczną podatnością – jak jeden parametr mógł zagrażać bezpieczeństwu

Jedno kliknięcie. Tyle miało dzielić wygodny podgląd logów od pełnego przejęcia konta w narzędziu do debugowania aplikacji AI. Brzmi jak phishing z 2010 roku? Niestety, to 2026 i błąd w samym sercu platformy LangSmith.

Badacze z Miggo Security namierzyli w LangSmith krytyczną podatność (CVE-2026-25750), w której elastyczność konfiguracji stała się wektorem przejęcia aktywnej sesji użytkownika. Wina leżała po stronie parametru baseURL – banalnego z wyglądu, kluczowego w skutkach. Błąd załatano w wersji 0.12.71, a dostawca nie odnotował realnych nadużyć. Warto jednak zobaczyć, jak jedna „ułatwka” może obejść zabezpieczenia.

LangSmith to nie kolejny gadżet dla programisty. To centrum operacyjne: testy, debugowanie, telemetria dla aplikacji LLM, często w architekturach RAG. W jednym miejscu lądują prompty z logiką biznesową, dane użytkowników i klucze do zewnętrznych usług – wszystko, co dla atakującego oznacza wysokie ryzyko przejęcia. Producent podkreśla, że traktuje platformę jak infrastrukturę krytyczną. Tym bardziej ciekawi, jak prozaiczny parametr konfiguracyjny mógł stać się wektorem ataku.

Ilustracja przedstawiająca cyfrowy krajobraz z symbolem parametru w neonowej zieleni.
Grafika koncepcyjna (AI)

O co chodziło z tym baseURL

Idea była sensowna. Interfejs LangSmith hostuje dostawca, ale backend API można wskazać lokalny – np. pod localhost. Dzięki temu nie trzeba stawiać całego UI u siebie, a i tak łączysz się z własnym środowiskiem. Parametr baseURL miał dawać tę wygodę.

Ilustracja przedstawiająca cyfrowy krajobraz związany z bezpieczeństwem.
Grafika koncepcyjna (AI)

Problem? Brak właściwej walidacji tego adresu. Według opisu badaczy, wystarczyło podmienić baseURL tak, by ruch API poleciał na serwer kontrolowany przez atakującego. Kto kontroluje backend, ten widzi i wpływa na to, co widzi użytkownik. W praktyce oznaczało to możliwość przejęcia aktywnej sesji – klasyczny Account Takeover, tylko że przez „ustawienie” z intencją inną niż bezpieczeństwo. Co gorsza, dało się to zainicjować jednym kliknięciem w odpowiednio spreparowany link. [1]

Dlaczego to istotne – i nie tylko dla LangSmith

Platformy do tworzenia i obserwowania aplikacji AI łączą wiele zaufanych elementów: interfejs, zaplecze, źródła danych, integracje. Granice zaufania bywają rozmyte, a „elastyczne” funkcje administracyjne często lądują w przeglądarce. Ta mieszanka sprzyja błędom projektowym: od niedowalidowanych przekierowań po nieintencjonalne separacje kontekstu. Spójrzmy szerzej: niedawna podatność GeminiJack w środowisku Google Gemini Enterprise pokazała, że prompt injection w RAG potrafi wykonać ukryte instrukcje bez żadnego kliku użytkownika. Wspólny mianownik? Granice systemu zawodzą tam, gdzie wygoda i złożoność wygrywają z rygorem walidacji. [3]

Fakty, bez ściemy

  • Luka CVE-2026-25750 dotyczyła parametru baseURL w LangSmith i pozwalała przekierować ruch API na serwer atakującego, co prowadziło do przejęcia aktywnej sesji. [1]
  • Atak dało się zainicjować jednym kliknięciem w link modyfikującym konfigurację.
  • Badacze z Miggo Security zgłosili problem; producent załatał go w wersji 0.12.71.
  • Dostawca nie zaobserwował wykorzystania błędu w realnych atakach.
  • Stawka była wysoka: w LangSmith trafiają prompty, dane zapytań, integracje i klucze.

Co tu naprawdę poszło nie tak

To nie jest „wyrafinowany łańcuch exploitów”. To klasyka: zaufanie do wejścia użytkownika w krytycznej ścieżce i brak twardych ograniczeń po stronie aplikacji. Jeśli przeglądarka może rozmawiać z dowolnym adresem wskazanym w parametrach UI, to prędzej czy później porozmawia z adresem, który wybierze ktoś inny. Elastyczność bez barier to nie funkcja – to obietnica kłopotów.

Jak powinno to wyglądać?

Minimum to biała lista dozwolonych hostów, powiązanie sesji z autoryzowanym backendem (tak, by zmiana celu zrywała zaufanie) i pinning środowisk. Dobrą praktyką jest też ograniczenie tego typu przełączników do strefy serwerowej, z audytem zmian i bez możliwości modyfikacji przez link w przeglądarce. Na froncie – jednoznaczne komunikaty o kontekście sesji i brak „magicznego” przełączania torów ruchu w tle.

Czy LangChain odrobił lekcję

Patch jest, wersja z numerkiem 0.12.71 zamyka lukę. W szerszym planie widać, że dostawca inwestuje w twardszą izolację komponentów. Kierunek jest właściwy: ograniczać zaufanie do elementów składowych, ciasno izolować wykonanie, a konfigurację krytyczną trzymać z dala od przeglądarki.

Puenta bez fajerwerków

Ta historia jest nudna w najlepszym tego słowa znaczeniu. Żadnych czarnych sztuk, tylko jeden parametr, który nie dostał należnego mu szacunku. W erze narzędzi AI „dev” to już „prod”: trzyma tajemnice i steruje zachowaniem całych systemów. Jeśli w Twoim stacku są podobne „ułatwki”, warto zapytać: czy naprawdę muszą być w przeglądarce – i czy na pewno ufają tylko tym, którym powinny?

FAQ

Czy podatność CVE-2026-25750 w LangSmith została już załatana?

Tak. Podatność została usunięta w wersji LangSmith 0.12.71.

Czy doszło do realnych ataków wykorzystujących CVE-2026-25750?

Nie. Dostawca nie zaobserwował wykorzystania podatności w rzeczywistych atakach.

Jak mogło dojść do przejęcia konta w LangSmith przez baseURL?

Przejęcie było możliwe przez brak walidacji parametru baseURL, który pozwalał przekierować ruch API na serwer atakującego, co skutkowało przejęciem aktywnej sesji. [3]

Czy muszę coś zrobić jako użytkownik LangSmith?

Tak. Zaktualizuj LangSmith do wersji 0.12.71 lub nowszej i unikaj linków zmieniających konfigurację środowiska z poziomu przeglądarki. [1]

Dlaczego ten błąd był tak niebezpieczny dla zespołów AI?

Bo LangSmith gromadzi prompty, dane i klucze integracji; przejęcie sesji to dostęp do najbardziej wrażliwych elementów procesu tworzenia aplikacji LLM.

Źródła

🧠 Czy ten artykuł dał Ci nową perspektywę?
Jedno kliknięcie. Zero kont. PressMind uczy się razem z Tobą.
Ładowanie oceny…

PressMind Labs - Ślad badawczy

To nie jest ozdobnik. To ślad po procesie: ile informacji było szumem, ile stało się wiedzą i jak wyglądał research, zanim powstał ten tekst.

3 źródeł użytych w tekście
2 niezależnych domen
2 min 54 s czas researchu
Średni sygnał jakości
Skan tematu
200 z 317 sygnałów (RSS: 3109)
Zachowano: 200 (63%) | Odrzucono: 88 (28%)
Źródła (finalne)
3 źródeł z 2 domen
Start: 1 | Finalnie: 3
Czas researchu
2 min 54 s
Różnorodność domen: 2 Źródła użyte: 3 Kontekst: pominięty Liczby w tekście: 1

1. Zbieranie sygnałów (discovery)

Temat
Jak manipulacja parametrem żądania mogła doprowadzić do przejęcia konta w LangSmith? Szczegóły podatności CVE-2026-25750
RSS - źródeł w configu
88
RSS - stan źródeł
88 / 88 OK
RSS - przepływ (od surowych do unikalnych)
3109 -> 3017 -> 438 -> 317
RSS - usunięte duplikaty tytułów
3
Pula tematów (z RSS)
317
Wybrane do analizy
200
Odrzucone
88
Klastry (wątki)
161

2. Selekcja i filtrowanie

Odrzucono jako nieaktualne (filtr daty)
1
Odrzucono semantycznie (embedding)
19

3. Wyszukiwanie i wzbogacanie

Zapytania wyszukiwawcze
25
Unikalne wyniki
39
Kandydaci
21
Dodane z wyszukiwania (cache+live)
2
Przeskanowano URL-i (research)
1

4. Finalny kontekst

Źródła użyte w tekście
3
Źródła (domeny)
2
Wikipedia - kontekst
nie
Expansion - kontekst
nie
Wyłuskane liczby
1
Ten proces pokazuje, jak z dziesiątek sygnałów wyłania się kilka sprawdzonych źródeł, na których oparto finalny tekst.

Dodaj komentarz