Уязвимость обхода пути существует в parisneo/lollms версии 2.1.0, в частности в универсальном маршруте SPA, реализованном в `backend/routers/ui.py`. Уязвимость возникает из-за неправильной обработки ввода пути, управляемого пользователем, который напрямую присоединяется к пути файловой системы без очистки или проверки содержания. Последовательности точек и точек, закодированные в URL-адресе (`%2e%2e`), обходят встроенную нормализацию пути Starlette и разрешаются с помощью `pathlib` Python, позволяя неаутентифицированному злоумышленнику читать произвольные файлы на сервере.
Эта проблема решена в версии 3.
Показать оригинальное описание (EN)
A path traversal vulnerability exists in parisneo/lollms version 2.1.0, specifically in the SPA catch-all route implemented in `backend/routers/ui.py`. The vulnerability arises from the improper handling of user-controlled path input, which is directly joined into a filesystem path without sanitization or containment checks. URL-encoded dot-dot sequences (`%2e%2e`) bypass Starlette's built-in path normalization and are resolved by Python's `pathlib`, allowing an unauthenticated attacker to read arbitrary files on the server. This issue has been resolved in version 3.
Характеристики атаки
Последствия
Строка CVSS v3.0