Podatność w bibliotece langchain_experimental (LangChain przed wersją 0.1.8) umożliwia atakującemu zdalne wykonanie dowolnego kodu (RCE) poprzez obejście wcześniejszej poprawki bezpieczeństwa CVE-2023-44467. Ze względu na brak filtrowania kluczowych atrybutów Pythona podatność może być wykorzystana bez uwierzytelnienia przez sieć.
▸ Pokaż oryginał (EN)
langchain_experimental (aka LangChain Experimental) in LangChain before 0.1.8 allows an attacker to bypass the CVE-2023-44467 fix and execute arbitrary code via the __import__, __subclasses__, __builtins__, __globals__, __getattribute__, __bases__, __mro__, or __base__ attribute in Python code. These are not prohibited by pal_chain/base.py.
Moduł pal_chain/base.py nie blokuje użycia niebezpiecznych atrybutów Pythona, takich jak __import__, __subclasses__, __builtins__, __globals__, __getattribute__, __bases__, __mro__ oraz __base__. Atakujący może przekazać spreparowany kod Pythona zawierający odwołania do tych atrybutów, co pozwala na wyjście poza przewidziane środowisko wykonania kodu i uruchomienie dowolnych poleceń systemowych. Mechanizm filtrowania wprowadzony jako naprawa CVE-2023-44467 okazał się niekompletny i możliwy do ominięcia przy użyciu wymienionych atrybutów.
Atakujący może wykonać dowolny kod na serwerze ofiary bez żadnego uwierzytelnienia, co prowadzi do pełnego przejęcia kontroli nad systemem, ujawnienia danych oraz naruszenia integralności i dostępności usługi.
Należy zaktualizować LangChain do wersji 0.1.8 lub nowszej, w której zastosowano poprawkę dostępną w commicie de9a6cdf163ed00adaf2e559203ed0a9ca2f1de7 w repozytorium GitHub langchain-ai/langchain.
langchain_experimental (LangChain Experimental) w pakiecie LangChain w wersjach przed 0.1.8
Podatność stanowi bezpośrednie obejście wcześniejszej poprawki CVE-2023-44467 dotyczącej tego samego komponentu. Organizacje, które wdrożyły wyłącznie łatkę dla CVE-2023-44467, pozostają narażone do czasu aktualizacji do wersji 0.1.8.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HLangchain Experimental
APPLangchain< 0.1.8
Powiązane podatności
RCE w LangChain Experimental przez sympy.sympify w LLMSymbolicMathChain
Versions of the package langchain-experimental from 0.0.15 and before 0.0.21 are vulnerable to Arbitrary Code ...
langchain_experimental (aka LangChain Experimental) before 0.0.61 for LangChain provides Python REPL access wi...
Podatność deserialization injection w funkcjach dumps/dumpd LangChain Core
SSRF w LangChain RequestsToolkit — dostęp do sieci wewnętrznej i metadanych chmury