CVE: CVE-2026-43629
Продукт: Debian
Дата публикации: 07.08.2026
Критичность: CRITICAL
CVSS: 9.2 (4.0)
EPSS: 0,62%; процентиль 46,33%
CISA KEV: нет подтверждения в каталоге CISA KEV
Краткое описание
Уязвимость CVE-2026-43629 в пакете llama.cpp Debian связана с переполнением буфера кучи при восстановлении состояния KV. Атакующий с правами на запись в директорию сохранения состояния может вызвать повреждение памяти или перезапись указателей функций. Уязвимость оценена как критическая с CVSS 9.2 [1].
Основные характеристики
CVE-2026-43629 — уязвимость типа heap buffer overflow в проекте llama.cpp, затрагивающая сборки b4882–b9058. В процессе восстановления состояния кэша KV функция
state_read_data() не проверяет переполнение при вычислении размера записи. При отсутствии проверки размера cell_count может привести к переполнению буфера. Это может быть использовано для повреждения метаданных кучи или весов модели [1]. Уязвимость классифицируется как CWE-190 и CWE-787 [1].Какие продукты и версии затронуты
Уязвимость затрагивает пакет
llama.cpp в Debian в сборках b4882–b9058. В релизах Debian Forky и Sid статус уязвимости не определён, и исправление не выпущено. Проверка версии пакета возможна с помощью команд:
Код:
cat /etc/debian_version
apt-cache policy <имя-пакета>
dpkg-query -W -f='${Package} ${Version}\n' <имя-пакета>
Согласно данным Debian Security Tracker, пакет
llama.cpp в релизах forky и sid имеет версии 10192+dfsg-2 и 10271+dfsg-1 соответственно, однако информация о статусе уязвимости отсутствует [2].Причина уязвимости
Уязвимость возникает из-за отсутствия проверки переполнения при вычислении размера записи в функции
state_read_data(). При чтении файла состояния происходит умножение cell_count на размер ячейки без проверки на переполнение. Если результат операции превышает размер выделенного буфера, происходит запись за его пределы. Это может привести к повреждению данных в куче, включая метаданные или веса модели [1].Как работает атака
Атакующий с правами на запись в директорию
slot_save_path может подготовить файл состояния с некорректным значением cell_count. При чтении файла происходит переполнение буфера, что может привести к перезаписи данных в куче. Если перезаписываются указатели функций или другие критические структуры, это может повлиять на поток выполнения. Механизм зависит от реализации управления памятью в системе [1].Условия успешной эксплуатации
Для эксплуатации необходим локальный доступ к директории
slot_save_path с возможностью записи. Атакующий должен иметь возможность создавать файлы состояния с заранее подготовленными данными. Уязвимость не требует сетевого доступа и не может быть использована удалённо. Эксплуатация возможна только при использовании версий llama.cpp в диапазоне b4882–b9058 [2].Возможный сценарий атаки
Атакующий создаёт файл состояния с заведомо некорректными параметрами
cell_count, чтобы вызвать переполнение буфера. При чтении файла система записывает данные за пределы выделенного буфера. Это может привести к перезаписи указателей функций или других данных в куче, что потенциально может быть использовано для изменения потока выполнения. Сценарий требует наличия прав на запись в slot_save_path [1].Есть ли публичный эксплойт
На момент проверки не подтверждено наличие публичного эксплойта или PoC для CVE-2026-43629. Отсутствие публичных данных не исключает возможности эксплуатации, но указывает на отсутствие активного исследования уязвимости. Индикаторы компрометации не подтверждены, однако могут появиться при активной эксплуатации [1].
Признаки эксплуатации
В отсутствие специфичных IOC, возможны сигналы, такие как необычное поведение процесса
llama.cpp, аномальные записи в директории slot_save_path, или использование нестандартных файлов состояния. Также может наблюдаться увеличение нагрузки на систему при чтении файлов, если они были созданы специально для эксплуатации [2].Как обнаружить атаку
Обнаружение возможно через проверку версии пакета
llama.cpp. В системах Debian, где установлен пакет в версиях b4882–b9058, возможна эксплуатация. Для проверки можно использовать:
Код:
dpkg-query -W -f='${Package} ${Version}\n' <имя-пакета>
apt-cache policy <имя-пакета>
Также рекомендуется мониторинг директории
slot_save_path на наличие подозрительных файлов [2].Как проверить свою версию
Для проверки версии пакета
llama.cpp в Debian выполните:
Код:
apt-cache policy <имя-пакета>
или
Код:
dpkg-query -W -f='${Package} ${Version}\n' <имя-пакета>
Если версия находится в диапазоне b4882–b9058, система уязвима к CVE-2026-43629 [2].
Исправление
На данный момент в Debian не выпущено исправление для уязвимости CVE-2026-43629. Рекомендуется обновить пакет
llama.cpp до версии, в которой устранена проблема, либо отключить функционал, связанный с чтением файлов состояния. В случае использования llama.cpp в средах с ограниченным доступом, следует ограничить права на запись в директорию slot_save_path [2].Временные меры защиты
Временные меры защиты включают ограничение прав на запись в директорию
slot_save_path, чтобы предотвратить возможность создания файлов состояния. Также рекомендуется отключить функционал восстановления состояния, если он не используется. Следите за обновлениями от Debian Security Team [2].Как проверить устранение уязвимости
После установки обновления или применения временных мер защиты, необходимо проверить, что версия пакета
llama.cpp больше не входит в диапазон b4882–b9058. Проверку можно выполнить командой:
Код:
apt-cache policy <имя-пакета>
или
Код:
dpkg-query -W -f='${Package} ${Version}\n' <имя-пакета>
Убедитесь, что версия не соответствует уязвимому диапазону [2].
Вывод
CVE-2026-43629 представляет собой критическую уязвимость в пакете
llama.cpp, затрагивающую Debian. Она позволяет выполнять переполнение буфера кучи и потенциально может быть использована для повреждения данных или изменения потока выполнения. Уязвимость актуальна для систем, где установлены версии пакета в диапазоне b4882–b9058. На данный момент исправление не выпущено, поэтому рекомендуется применять временные меры защиты и следить за обновлениями от Debian Security Team [2].Официальные источники
История обновлений статьи
- 10.08.2026 — Опубликована первая версия материала.
