AnythingLLM — это приложение, которое превращает фрагменты контента в контекст, который любой LLM может использовать в качестве ссылок во время общения. До версии 1.13.0 инструмент копирования файловой системы агента AnythingLLM проверяет только пути источника и назначения верхнего уровня. Затем помощник рекурсивного копирования спускается к дочерним записям с помощью fs.stat() и копирует файлы с помощью fs.copyFile() без проверки каждого дочернего элемента или отклонения символических ссылок.
Поскольку оба API следуют за символическими ссылками, символическая ссылка, вложенная в разрешенный исходный каталог, может указывать за пределы разрешенного корня файловой системы и вызывать копирование внешнего содержимого файла в разрешенное место назначения как обычный файл. Эта уязвимость исправлена в версии 1.13.0.
Показать оригинальное описание (EN)
AnythingLLM is an application that turns pieces of content into context that any LLM can use as references during chatting. Prior to 1.13.0, the AnythingLLM agent filesystem copy tool validates only the top-level source and destination paths. The recursive copy helper then descends into child entries using fs.stat() and copies files with fs.copyFile() without validating each child or rejecting symlinks. Because both APIs follow symlinks, a symlink nested inside an allowed source directory can point outside the allowed filesystem root and cause outside file contents to be copied into an allowed destination as a regular file. This vulnerability is fixed in 1.13.0.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Mintplexlabs Anythingllm
cpe:2.3:a:mintplexlabs:anythingllm:*:*:*:*:*:*:*:*
|
— |
1.13.0
|