xbuf_format_converter, используемый как часть exif_read_data, добавлял завершающий нулевой символ к сгенерированной строке, но не использов…
xbuf_format_converter, используемый как часть exif_read_data, добавлял завершающий нулевой символ к сгенерированной строке, но не использовал свою стандартную функцию добавления символов. В результате, если буфер был заполнен, это приводило к записи за пределами границ. Эта проблема затрагивает HHVM версии до 4.56.3, все версии между 4.57.0 и 4.80.1, все версии между 4.81.0 и 4.93.1 и версии 4.94.0, 4.95.0, 4.96.0, 4.97.0, 4.98.0.
Переполнение кучи — это условие переполнения буфера, при котором перезаписываемый буфер выделен в области кучи памяти, что, как правило, означает выделение буфера с помощью функции наподобие malloc().
https://cwe.mitre.org/data/definitions/122.html →Открыть в коллекции CWE →Данная атака приводит к выходу целочисленной переменной за допустимый диапазон значений. Целочисленная переменная нередко используется в качестве смещения, например при выделении памяти и т. п. Злоумышленник, как правило, контролирует значение такой переменной и стремится вывести его за допустимые границы. Например, если рассматриваемое целое число инкрементируется сверх максимально допустимого значения, оно может обернуться в очень маленькое или отрицательное число, что повлечёт некорректное поведение. В худшем случае злоумышленник может выполнить произвольный код.
https://capec.mitre.org/data/definitions/92.html →Открыть в коллекции CAPEC →