gopacket предоставляет возможности обработки пакетов для Go. В версии 1.6.0 и более ранних версиях декодер sFlow ExtendedGatewayFlow в Layers/sflow.go считывает контролируемое злоумышленником 32-битное количество сообществ и количество членов пути AS и определяет размер выделения среза на основе этих счетчиков, не связывая их с байтами, оставшимися в дейтаграмме, поэтому 104-байтовая дейтаграмма UDP может управлять выделением до 16 ГиБ и вызывать удаленный отказ в обслуживании без аутентификации. Эта проблема исправлена в версии 1.6.1.
Показать оригинальное описание (EN)
gopacket provides packet processing capabilities for Go. In version 1.6.0 and earlier, the sFlow ExtendedGatewayFlow decoder in layers/sflow.go reads an attacker-controlled 32-bit community count and AS path member count and sizes a slice allocation from those counts without bounding them against the bytes remaining in the datagram, so a 104-byte UDP datagram can drive an allocation of up to 16 GiB and cause an unauthenticated remote denial of service. This issue is fixed in version 1.6.1.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Gopacket Gopacket
cpe:2.3:a:gopacket:gopacket:*:*:*:*:*:go:*:*
|
— |
1.6.1
|