DbGate — кроссплатформенный менеджер баз данных. В версиях 7.1.8 и более ранних функция unzipDirectory() в packages/api/src/shell/unzipDirectory.js (строка 27) не проверяет, остаются ли пути к извлеченным файлам в выходном каталоге. Вредоносный ZIP-файл с записями `../` записывает файлы в любое место файловой системы.
При развертывании Docker по умолчанию DbGate запускается от имени пользователя root, а поставщик аутентификации none выдает токены JWT без учетных данных через POST /auth/login, поэтому это может быть использовано любым злоумышленником, подключенным к сети. Версия 7.1.9 устраняет проблему.
Показать оригинальное описание (EN)
DbGate is cross-platform database manager. In versions 7.1.8 and prior, the `unzipDirectory()` function in `packages/api/src/shell/unzipDirectory.js` (line 27) does not validate that extracted file paths stay within the output directory. A malicious ZIP with `../` entries writes files anywhere on the filesystem. In the default Docker deployment, DbGate runs as root and the `none` auth provider issues JWT tokens without credentials via `POST /auth/login`, so this is exploitable by any network-adjacent attacker. Version 7.1.9 fixes the issue.
Характеристики атаки
Последствия
Строка CVSS v4.0