W bibliotece langchain-ai/langchainjs w wersji 0.2.5 istnieje podatność typu path traversal w metodzie `getFullPath`. Umożliwia ona atakującemu nieautoryzowany dostęp do systemu plików serwera, co czyni ją poważnym zagrożeniem dla każdej aplikacji opartej na tej bibliotece.
▸ Pokaż oryginał (EN)
A path traversal vulnerability exists in the `getFullPath` method of langchain-ai/langchainjs version 0.2.5. This vulnerability allows attackers to save files anywhere in the filesystem, overwrite existing text files, read `.txt` files, and delete files. The vulnerability is exploited through the `setFileContent`, `getParsedFile`, and `mdelete` methods, which do not properly sanitize user input.
Metody `setFileContent`, `getParsedFile` oraz `mdelete` nie przeprowadzają właściwej sanityzacji danych wejściowych podawanych przez użytkownika. Dzięki temu atakujący może spreparować ścieżkę zawierającą sekwencje typu `../`, które po przetworzeniu przez metodę `getFullPath` prowadzą poza zamierzony katalog. W efekcie możliwe jest zapisywanie plików w dowolnym miejscu systemu plików, nadpisywanie istniejących plików tekstowych, odczytywanie plików `.txt` oraz usuwanie plików.
Atakujący może bez uwierzytelnienia odczytywać pliki `.txt`, nadpisywać lub tworzyć pliki w dowolnym miejscu systemu plików, a także usuwać pliki — co prowadzi do naruszenia poufności i integralności danych na serwerze.
Należy zastosować patche dostępne u producenta zgodnie z referencjami — poprawka dostępna w repozytorium GitHub pod adresem: https://github.com/langchain-ai/langchainjs/commit/a0fad77d6b569e5872bd4a9d33be0c0785e538a9
langchain-ai/langchainjs w wersji 0.2.5
Podatność zgłoszona za pośrednictwem platformy huntr.com (program bug bounty). Szczegóły dostępne pod adresem: https://huntr.com/bounties/8fe40685-b714-4191-af7a-3de5e5628cee
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:NLangchain Langchain.js
APPLangchain0.2.5
Powiązane podatności
LangChain is a framework for building LLM-powered applications. Prior to @langchain/core versions 0.3.80 and 1...
Podatność deserialization injection w funkcjach dumps/dumpd LangChain Core
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