Romeo дает возможность достичь высокого покрытия кода приложений Go ≥1.20, помогая измерить покрытие кода для функциональных и интеграционных тестов в GitHub Actions. До версии 0.2.2 функция sanitizeArchivePath в файле webserver/api/v1/decoder.go (строки 80-88) уязвима для обхода обхода пути из-за отсутствия конечного разделителя пути в проверке strings.HasPrefix. Созданный tar-архив может записывать файлы за пределы предполагаемого каталога назначения.
Версия 0.2.2 устраняет проблему.
Показать оригинальное описание (EN)
Romeo gives the capability to reach high code coverage of Go ≥1.20 apps by helping to measure code coverage for functional and integration tests within GitHub Actions. Prior to version 0.2.2, the `sanitizeArchivePath` function in `webserver/api/v1/decoder.go` (lines 80-88) is vulnerable to a path traversal bypass due to a missing trailing path separator in the `strings.HasPrefix` check. A crafted tar archive can write files outside the intended destination directory. Version 0.2.2 fixes the issue.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Ctfer-Io Romeo
cpe:2.3:a:ctfer-io:romeo:*:*:*:*:*:*:*:*
|
— |
0.2.2
|