FastNetMon Community Edition через 1.2.9 содержит целочисленную уязвимость переполнения в распределении буфера захвата пакетов. В src/packe…
FastNetMon Community Edition через 1.2.9 содержит целочисленную уязвимость переполнения в распределении буфера захвата пакетов. В src/packe_storage.hpp функция выделение_buffer() вычисляет memory_size_in_bytes как 'buffer_size_in_packets * (max_captured_packe_size + sizeof(fastnetmon_pcap_pkthdr_t)) + sizeof(fastnetmon_pcap_pcap_pcap_t) С max_captured_packet_size=1500 и sizeof(fastnetmon_pcap_pkthdr_t)=16, каждый пакет требует примерно 1516 байт. Если buffer_size_in_packets превышает примерно 2,832,542, то умножение переполняется, что приводит к гораздо меньшему распределению, чем ожидалось. Последующие звонки write_packet() затем пишут мимо выделенного буфера, вызывая кучу коррупции. Значение buffer_size_in_packets получено из параметра конфигурации ban_details_records_count, который анализируется с помощью atoi() без проверки переполнения.
Переполнение кучи — это условие переполнения буфера, при котором перезаписываемый буфер выделен в области кучи памяти, что, как правило, означает выделение буфера с помощью функции наподобие malloc().
https://cwe.mitre.org/data/definitions/122.html →Открыть в коллекции CWE →Данная атака приводит к выходу целочисленной переменной за допустимый диапазон значений. Целочисленная переменная нередко используется в качестве смещения, например при выделении памяти и т. п. Злоумышленник, как правило, контролирует значение такой переменной и стремится вывести его за допустимые границы. Например, если рассматриваемое целое число инкрементируется сверх максимально допустимого значения, оно может обернуться в очень маленькое или отрицательное число, что повлечёт некорректное поведение. В худшем случае злоумышленник может выполнить произвольный код.
https://capec.mitre.org/data/definitions/92.html →Открыть в коллекции CAPEC →| Продукт | Вендор | Статус |
|---|---|---|
| fastnetmon | Отслеживается | |
| fastnetmon | * | Отслеживается |