Podatność w Langchain w wersji 0.0.171 umożliwia zdalnemu atakującemu wykonanie dowolnego kodu poprzez spreparowany plik JSON przekazany do funkcji load_prompt. Brak wymagań co do uwierzytelnienia i prosta ścieżka exploitacji czynią tę podatność krytyczną.
▸ Pokaż oryginał (EN)
An issue in langchain v.0.0.171 allows a remote attacker to execute arbitrary code via a JSON file to load_prompt. This is related to __subclasses__ or a template.
Atakujący dostarcza specjalnie spreparowany plik JSON, który jest przetwarzany przez funkcję load_prompt w bibliotece Langchain. Funkcja ta w sposób niekontrolowany obsługuje mechanizm __subclasses__ lub szablony (templates), co pozwala na wstrzyknięcie i wykonanie dowolnego kodu Pythona (CWE-94 — code injection). Atak nie wymaga uwierzytelnienia ani interakcji ze strony użytkownika.
Atakujący może zdalnie wykonać dowolny kod na serwerze z uprawnieniami procesu uruchamiającego Langchain, co może prowadzić do pełnego przejęcia kontroli nad systemem, kradzieży danych lub dalszego lateral movement w sieci.
Należy zaktualizować Langchain do wersji 0.0.312 lub nowszej, zgodnie z informacjami zamieszczonymi przez producenta w wydaniu v0.0.312 na GitHub.
Langchain w wersji 0.0.171
Podatność dotyczy mechanizmu __subclasses__ lub obsługi szablonów w funkcji load_prompt. Szczegóły techniczne dostępne są pod adresem aisec.today oraz w zgłoszeniu GitHub Issues #4394.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HLangchain
APPLangchain0.0.171
Powiązane podatności
SSRF w LangChain RequestsToolkit — dostęp do sieci wewnętrznej i metadanych chmury
SQL injection przez prompt injection w LangChain GraphCypherQAChain
SQL injection przez prompt injection w LangChain GraphCypherQAChain
RCE w LangChain via funkcja evaluate biblioteki numexpr
RCE w LangChain poprzez funkcje from_math_prompt i from_colored_object_prompt