Crypt::SysRandom::S Версии до 0.010 для Perl уязвимы для переполнения кучи буфера в функции XS random_bytes(). Функция не подтверждает, что…
Crypt::SysRandom::S Версии до 0.010 для Perl уязвимы для переполнения кучи буфера в функции XS random_bytes(). Функция не подтверждает, что параметр длины не является отрицательным. Если отрицательное значение (например, -1) подается, длина выражения + 1u вызывает целочисленную обертку, что приводит к нулевому распределению. Последующий призыв к выбранной случайной функции (например, getrandom) передает исходное отрицательное значение, которое неявно преобразуется в большое неподписанное значение (обычно SIZE_MAX). Это может привести к написанию за пределами выделенного буфера, что приводит к крушению кучи памяти и сбою применения (отказ в обслуживании). В обычном использовании аргумент длины обычно жестко кодируется звонищим, что снижает вероятность эксплуатации, контролируемой атакующим. Приложения, которые передают ненадежный ввод к этому параметру, могут быть затронуты.
Переполнение кучи — это условие переполнения буфера, при котором перезаписываемый буфер выделен в области кучи памяти, что, как правило, означает выделение буфера с помощью функции наподобие malloc().
https://cwe.mitre.org/data/definitions/122.html →Открыть в коллекции CWE →Данная атака приводит к выходу целочисленной переменной за допустимый диапазон значений. Целочисленная переменная нередко используется в качестве смещения, например при выделении памяти и т. п. Злоумышленник, как правило, контролирует значение такой переменной и стремится вывести его за допустимые границы. Например, если рассматриваемое целое число инкрементируется сверх максимально допустимого значения, оно может обернуться в очень маленькое или отрицательное число, что повлечёт некорректное поведение. В худшем случае злоумышленник может выполнить произвольный код.
https://capec.mitre.org/data/definitions/92.html →Открыть в коллекции CAPEC →| Продукт | Вендор | Статус |
|---|---|---|
| libcrypt-sysrandom-xs-perl | Отслеживается | |
| crypt::sysrandom::xs | * | Отслеживается |