Flare — это автономная платформа для обмена файлами на базе Next.js, которая интегрируется с инструментами создания снимков экрана. До версии 1.7.3 уязвимость обхода пути с аутентификацией в /api/avatars/[имя файла] позволяла любому вошедшему в систему пользователю читать произвольные файлы из контейнера приложения. Параметр URL-адреса имени файла передается в path.join() без очистки, а getFileStream() не выполняет проверку пути, позволяя последовательностям ../, закодированным в %2F, выйти из каталога uploads/avatars/ и прочитать любой файл, доступный для процесса nextjs в /app/.
Аутентификация обеспечивается промежуточным программным обеспечением Next.js. Однако в экземплярах с включенной открытой регистрацией (по умолчанию) любой злоумышленник может самостоятельно зарегистрироваться и немедленно воспользоваться этим. Эта уязвимость исправлена в версии 1.7.3.
Показать оригинальное описание (EN)
Flare is a Next.js-based, self-hostable file sharing platform that integrates with screenshot tools. Prior to 1.7.3, an authenticated path traversal vulnerability in /api/avatars/[filename] allows any logged-in user to read arbitrary files from within the application container. The filename URL parameter is passed to path.join() without sanitization, and getFileStream() performs no path validation, enabling %2F-encoded ../ sequences to escape the uploads/avatars/ directory and read any file accessible to the nextjs process under /app/. Authentication is enforced by Next.js middleware. However, on instances with open registration enabled (the default), any attacker can self-register and immediately exploit this. This vulnerability is fixed in 1.7.3.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Flintsh Flare
cpe:2.3:a:flintsh:flare:*:*:*:*:*:*:*:*
|
— |
1.7.3
|