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