go-git — это расширяемая библиотека реализации git, написанная на чистом Go. До версии 5.17.1 декодер индекса go-git для формата версии 4 не мог проверить длину префикса имени пути перед применением его к ранее декодированному имени пути. Вредоносно созданный индексный файл может инициировать операцию среза за пределами допустимого диапазона, что приведет к панике во время выполнения во время обычного анализа индекса.
Эта проблема затрагивает только формат индекса Git версии 4. Более ранние форматы (go-git поддерживает только v2 и v3) не подвержены этой проблеме. Эта проблема исправлена в версии 5.17.1.
Показать оригинальное описание (EN)
go-git is an extensible git implementation library written in pure Go. Prior to version 5.17.1, go-git’s index decoder for format version 4 fails to validate the path name prefix length before applying it to the previously decoded path name. A maliciously crafted index file can trigger an out-of-bounds slice operation, resulting in a runtime panic during normal index parsing. This issue only affects Git index format version 4. Earlier formats (go-git supports only v2 and v3) are not vulnerable to this issue. This issue has been patched in version 5.17.1.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Go-Git_Project Go-Git
cpe:2.3:a:go-git_project:go-git:*:*:*:*:*:go:*:*
|
— |
5.17.1
|