LangChain — это платформа для создания агентов и приложений на базе LLM. До версии 1.3.9 некоторые компоненты LangChain, которые разрешают пути файловой системы или расширяют шаблоны поиска, не всегда ограничивают разрешенный путь предполагаемым корневым каталогом. Затронутое поведение включает в себя: промежуточное программное обеспечение агента поиска файлов, которое проверяет начальный каталог, но не шаблон поиска или разрешенную цель совпадающих файлов, поэтому шаблоны glob и символические ссылки могут достигать файлов за пределами настроенного корня; загрузчики конфигурации подсказок и цепочек/агентов, которые принимают поля пути и разрешают их, не ограничивая результат доверенной базой или не отклоняя целевые объекты символических ссылок; и проверки авторизации по префиксу пути, которые сравниваются по строковому префиксу без границы сегмента пути, поэтому принимается одноуровневый путь, разделяющий префикс.
Когда эти компоненты получают значения путей, шаблоны поиска или содержимое рабочей области под влиянием ненадежного источника, включая LLM, действующий на ненадежные входные данные, результатом может быть раскрытие файлов за пределами предполагаемых границ. Эта уязвимость исправлена в версии 1.3.9.
Показать оригинальное описание (EN)
LangChain is a framework for building agents and LLM-powered applications. Prior to 1.3.9, several LangChain components that resolve filesystem paths or expand search patterns do not consistently confine the resolved path to the intended root directory. Affected behaviors include: a file-search agent middleware that validates a starting directory but not the search pattern or the resolved target of matched files, so glob patterns and symlinks can reach files outside the configured root; prompt- and chain/agent-configuration loaders that accept path fields and resolve them without confining the result to a trusted base or rejecting symlink targets; and path-prefix authorization checks that compare by string prefix without a path-segment boundary, so a sibling path sharing the prefix is accepted. When these components receive path values, search patterns, or workspace contents influenced by an untrusted source — including an LLM acting on untrusted input — the result can be disclosure of files outside the intended boundary. This vulnerability is fixed in 1.3.9.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Langchain Langchain
cpe:2.3:a:langchain:langchain:*:*:*:*:*:*:*:*
|
— |
1.3.9
|