llama.cpp является выводом нескольких моделей LLM в C/C++. До b8146, gguf_init_from_file_impl() в gguf.cpp уязвим для перелива Integer, что…
llama.cpp является выводом нескольких моделей LLM в C/C++. До b8146, gguf_init_from_file_impl() в gguf.cpp уязвим для перелива Integer, что приводит к малому распределению кучи. Используя последующий fread() записывает 528+ байт данных, контролируемых злоумышленником, за пределами границы буфера. Это обход аналогичной ошибки в том же файле - CVE-2025-53630, но исправление упустило из виду некоторые области. Эта уязвимость исправлена в b8146.
Переполнение кучи — это условие переполнения буфера, при котором перезаписываемый буфер выделен в области кучи памяти, что, как правило, означает выделение буфера с помощью функции наподобие malloc().
https://cwe.mitre.org/data/definitions/122.html →Открыть в коллекции CWE →Данная атака приводит к выходу целочисленной переменной за допустимый диапазон значений. Целочисленная переменная нередко используется в качестве смещения, например при выделении памяти и т. п. Злоумышленник, как правило, контролирует значение такой переменной и стремится вывести его за допустимые границы. Например, если рассматриваемое целое число инкрементируется сверх максимально допустимого значения, оно может обернуться в очень маленькое или отрицательное число, что повлечёт некорректное поведение. В худшем случае злоумышленник может выполнить произвольный код.
https://capec.mitre.org/data/definitions/92.html →Открыть в коллекции CAPEC →