CVE-2026-43629 в Debian: переполнение буфера кучи в llama.cpp

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].

Официальные источники​


  1. NVD — CVE-2026-43629
  2. Debian Security Tracker — CVE-2026-43629
  3. FIRST EPSS — CVE-2026-43629

История обновлений статьи​


  • 10.08.2026 — Опубликована первая версия материала.
 
Назад
Верх Низ