go-ipld-prime — это реализация интерфейсов спецификации межпланетных связанных данных (IPLD), реализация кодека IPLD для CBOR и JSON с батарейным питанием, а также инструменты для основных операций с объектами IPLD. До версии 0.22.0 декодер DAG-CBOR использовал размеры коллекций, объявленные в заголовках CBOR, в качестве подсказок предварительного выделения Go для карт и списков. Декодер не ограничивает эти подсказки по размеру и не учитывает их стоимость в своем бюджете выделения, что позволяет небольшим полезным нагрузкам вызывать чрезмерное выделение памяти.
Эта уязвимость исправлена в версии 0.22.0.
Показать оригинальное описание (EN)
go-ipld-prime is an implementation of the InterPlanetary Linked Data (IPLD) spec interfaces, a batteries-included codec implementations of IPLD for CBOR and JSON, and tooling for basic operations on IPLD objects. Prior to 0.22.0, the DAG-CBOR decoder uses collection sizes declared in CBOR headers as Go preallocation hints for maps and lists. The decoder does not cap these size hints or account for their cost in its allocation budget, allowing small payloads to cause excessive memory allocation. This vulnerability is fixed in 0.22.0.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Protocol Go-Ipld-Prime
cpe:2.3:a:protocol:go-ipld-prime:*:*:*:*:*:go:*:*
|
— |
0.22.0
|