Mailpit — это инструмент тестирования электронной почты и API для разработчиков. До версии 1.30.0 подкоманда mailpit dump --http <base-url> <out-dir> загружает каждое сообщение из удаленного экземпляра Mailpit и записывает каждое из них как <id>.eml в указанный пользователем выходной каталог. Поле идентификатора сообщения дословно берется из ответа JSON удаленного сервера и объединяется в выходной путь с помощью path.Join, который автоматически нормализует сегменты `..`.
Таким образом, вредоносный HTTP-сервер, выдающий себя за Mailpit, может заставить дамп mailpit записывать байты, контролируемые злоумышленником, по любому пути, который может записать работающий пользователь, полностью за пределами предполагаемого выходного каталога. Версия 1.30.0 содержит патч.
Показать оригинальное описание (EN)
Mailpit is an email testing tool and API for developers. Prior to version 1.30.0, the mailpit dump --http <base-url> <out-dir> sub-command downloads every message from a remote Mailpit instance and writes each one as <id>.eml inside the user-supplied output directory. The message ID field is taken verbatim from the JSON response of the remote server and concatenated into the output path with path.Join, which silently normalizes `..` segments. A malicious HTTP server impersonating Mailpit can therefore make mailpit dump write attacker-controlled bytes to any path the running user can write, fully outside the intended output directory. Version 1.30.0 contains a patch.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Axllent Mailpit
cpe:2.3:a:axllent:mailpit:*:*:*:*:*:*:*:*
|
— |
1.30.0
|