GoDoxy — это обратный прокси-сервер и оркестратор контейнеров для самостоятельных хостеров. До версии 0.27.5 конечная точка API содержимого файла в `/api/v1/file/content` уязвима для обхода пути. Параметр запроса `filename` передается непосредственно в `path.Join(common.ConfigBasePath, filename)`, где `ConfigBasePath = "config"` (относительный путь).
Никакая очистка или проверка не применяется, кроме проверки того, что поле не пусто («привязка: «требуется»»). Аутентифицированный злоумышленник может использовать последовательности `../` для чтения или записи файлов за пределами предполагаемого каталога `config/`, включая закрытые ключи TLS, токены обновления OAuth и любые файлы, доступные по UID контейнера. Версия 0.27.5 устраняет проблему.
Показать оригинальное описание (EN)
GoDoxy is a reverse proxy and container orchestrator for self-hosters. Prior to version 0.27.5, the file content API endpoint at `/api/v1/file/content` is vulnerable to path traversal. The `filename` query parameter is passed directly to `path.Join(common.ConfigBasePath, filename)` where `ConfigBasePath = "config"` (a relative path). No sanitization or validation is applied beyond checking that the field is non-empty (`binding:"required"`). An authenticated attacker can use `../` sequences to read or write files outside the intended `config/` directory, including TLS private keys, OAuth refresh tokens, and any file accessible to the container's UID. Version 0.27.5 fixes the issue.
Характеристики атаки
Последствия
Строка CVSS v3.1