CVE-2025-68665
WysokieCVSS 8.6Prawdopodobieństwo exploitacji (EPSS)
Podwyższone ryzykoPercentyl 56 - wyżej niż 56% wszystkich znanych CVE
Streszczenie
LangChain to framework do budowy aplikacji opartych na LLM. Przed wersjami @langchain/core 0.3.80 i 1.1.8 oraz langchain 0.3.37 i 1.2.3 istnieje podatność wstrzyknięcia serializacji w metodzie toJSON() w LangChain JS (a następnie podczas serializacji obiektów za pomocą JSON.stringify()). Metoda nie escapowała obiektów z kluczami 'lc' podczas serializacji danych swobodnych w kwargs, przez co dane kontrolowane przez użytkownika mogą być traktowane jako prawdziwy obiekt LangChain podczas deserializacji.
Ocena ryzyka
Dane kontrolowane przez użytkownika mogą zostać zinterpretowane jako obiekt LangChain, co może prowadzić do nieoczekiwanego zachowania lub wykonania kodu w zależności od kontekstu deserializacji. Narusza to zaufanie do granic danych wejściowych.
Rekomendacja
Zaktualizuj @langchain/core do wersji 0.3.80 lub 1.1.8 (lub nowszej) oraz langchain do wersji 0.3.37 lub 1.2.3 (lub nowszej). Unikaj deserializacji niezaufanych danych z kluczami 'lc'.
Inne podatności w LangChain
Zobacz wszystkie- CVE-2025-68664Krytyczne
LangChain, framework do budowania agentów i aplikacji opartych na LLM, przed wersjami 0.3.81 i 1.2.5 zawiera podatność na iniekcję serializacji w funkcjach dumps() i dumpd(). Funkcje te nie escapują słowników z kluczami 'lc' podczas serializacji dowolnych słowników. Klucz 'lc' jest używany wewnętrznie przez LangChain do oznaczania serializowanych obiektów. Gdy dane kontrolowane przez użytkownika zawierają tę strukturę klucza, są traktowane jako prawowity obiekt LangChain podczas deserializacji, a nie jako zwykłe dane użytkownika.
- CVE-2023-36095Krytyczne
Podatność w bibliotece LangChain w wersji 0.0.194 umożliwia zdalne wykonanie dowolnego kodu poprzez funkcje from_math_prompt i from_colored_object_prompt w klasie PALChain. Atakujący może wykorzystać mechanizm eval do wstrzyknięcia złośliwego kodu Python.
- CVE-2023-36258Krytyczne
W LangChain przed wersją 0.0.236 występuje problem, który pozwala atakującemu na wykonanie dowolnego kodu. Możliwość wykorzystania funkcji os.system, exec lub eval w kodzie Pythona stwarza poważne zagrożenie.
- CVE-2023-34541Krytyczne
Langchain w wersji 0.0.171 jest podatny na wykonanie dowolnego kodu w funkcji load_prompt.
- CVE-2026-106119Średnie
LangChain przed wersją 1.3.1 nie wymusza w czasie działania typu string dla niezaufanego identyfikatora sesji w MongoDBChatMessageHistory, przez co identyfikator może być zinterpretowany jako warunek zapytania MongoDB zamiast wartości dosłownej. Atakujący mogący wywoływać operacje historii czatu może odczytać, zmodyfikować lub usunąć rozmowy innego użytkownika, gdy historie wielu użytkowników są przechowywane w współdzielonej kolekcji MongoDB.
- CVE-2026-44843Wysokie
Podatność w LangChain przed wersjami 0.3.85 i 1.3.3. Starsze ścieżki kodu deserializują dane wejściowe/wyjściowe z użyciem zbyt szerokich list dozwolonych obiektów, co pozwala atakującemu na przekazanie złośliwych słowników konstruktorów i utworzenie obiektów z niebezpiecznymi argumentami.
- CVE-2026-41481Średnie
W bibliotece LangChain przed wersją 1.1.2 wykryto podatność SSRF w funkcji HTMLHeaderTextSplitter.split_text_from_url(). Mimo walidacji początkowego URL, przekierowania nie były sprawdzane, co pozwala atakującemu na dostęp do wewnętrznych zasobów sieciowych.
- CVE-2026-40087Średnie
LangChain przed wersjami 0.3.84 i 1.2.28 ma niekompletną walidację szablonów f-string. Niektóre klasy szablonów (DictPromptTemplate, ImagePromptTemplate) formatowały szablony bez wymuszania walidacji dostępu do atrybutów, a walidacja oparta na nazwach pól nie odrzucała zagnieżdżonych pól w specyfikatorach formatu, co mogło prowadzić do ewaluacji wyrażeń w czasie formatowania.
- CVE-2026-34070Wysokie
Podatność w LangChain przed wersją 1.2.22 pozwala na odczyt dowolnych plików z systemu plików poprzez wstrzyknięcie ścieżki bezwzględnej lub typu directory traversal w konfiguracjach promptów. Atakujący może wykorzystać funkcje load_prompt() lub load_prompt_from_config() do odczytu plików, ograniczonych jedynie rozszerzeniami (.txt, .json, .yaml).
- CVE-2024-58340Wysokie
Podatność ReDoS w bibliotece LangChain do wersji 0.3.1 włącznie występuje w metodzie MRKLOutputParser.parse(). Atakujący może dostarczyć spreparowany tekst (np. przez wstrzyknięcie do promptu), który powoduje nadmierne zużycie CPU i opóźnienia w parsowaniu, prowadząc do odmowy usługi.
Oryginalny opis (angielski, źródło NVD)
LangChain is a framework for building LLM-powered applications. Prior to @langchain/core versions 0.3.80 and 1.1.8, and prior to langchain versions 0.3.37 and 1.2.3, a serialization injection vulnerability exists in LangChain JS's toJSON() method (and subsequently when string-ifying objects using JSON.stringify(). The method did not escape objects with 'lc' keys when serializing free-form data in kwargs. The 'lc' key is used internally by LangChain to mark serialized objects. When user-controlled data contains this key structure, it is treated as a legitimate LangChain object during deserialization rather than plain user data. This issue has been patched in @langchain/core versions 0.3.80 and 1.1.8, and langchain versions 0.3.37 and 1.2.3
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

