CVE-2026-40087
ŚrednieCVSS 5.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 18 - wyżej niż 18% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Może to pozwolić na wykonanie nieautoryzowanych wyrażeń Pythona w kontekście aplikacji, potencjalnie prowadząc do wycieku danych lub dalszych ataków. Ryzyko dotyczy aplikacji wykorzystujących podatne klasy szablonów LangChain.
Rekomendacja
Zaktualizuj LangChain do wersji 0.3.84 lub 1.2.28 (lub nowszej). Przejrzyj aplikacje pod kątem użycia DictPromptTemplate i ImagePromptTemplate z niezaufanymi szablonami.
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-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.
- CVE-2025-68665Wysokie
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.
Oryginalny opis (angielski, źródło NVD)
LangChain is a framework for building agents and LLM-powered applications. Prior to 0.3.84 and 1.2.28, LangChain's f-string prompt-template validation was incomplete in two respects. First, some prompt template classes accepted f-string templates and formatted them without enforcing the same attribute-access validation as PromptTemplate. In particular, DictPromptTemplate and ImagePromptTemplate could accept templates containing attribute access or indexing expressions and subsequently evaluate those expressions during formatting. Second, f-string validation based on parsed top-level field names did not reject nested replacement fields inside format specifiers. In this pattern, the nested replacement field appears in the format specifier rather than in the top-level field name. As a result, earlier validation based on parsed field names did not reject the template even though Python formatting would still attempt to resolve the nested expression at runtime. This vulnerability is fixed in 0.3.84 and 1.2.28.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

