CVE-2026-43631 в Ubuntu: критический RCE в llama-server и порядок проверки

CVE: CVE-2026-43631
Продукт: Ubuntu
Дата публикации: 07.08.2026
Критичность: CRITICAL
CVSS: 9.2 (4.0)
EPSS: 0,42%; процентиль 34,84%
CISA KEV: нет подтверждения в каталоге CISA KEV

Краткое описание​


В пакете llama.cpp для Ubuntu 26.04 LTS зафиксирована уязвимость use-after-free в llama-server. При активном параметре --sleep-idle-seconds удаленный атакующий может выполнить произвольный код. Материал описывает механику гонки состояний, условия эксплуатации и команды для аудита системы.

Основные характеристики​


Классификация: CWE-362 (Race Condition) и CWE-416 (Use After Free). Оценки: CVSS v4.0 — 9.2 (CRITICAL), CVSS v3.1 — 9.8. EPSS: 0.00421 (процентиль 0.35%). В каталоге CISA KEV запись отсутствует. Ubuntu присваивает уровень риска medium, что отражает специфику распространения пакета в дистрибутиве.

Какие продукты и версии затронуты​


Затронут пакет llama.cpp версии 8681+dfsg-1 в Ubuntu 26.04 LTS (resolute). В список входят бинарные компоненты: libllama0, llama.cpp, llama.cpp-examples, llama.cpp-tests, llama.cpp-tools, llama.cpp-tools-extra и python3-gguf. Уязвимость присутствует в сборках llama.cpp от b7492 до b9060, если в конфигурации llama-server включен параметр --sleep-idle-seconds.

Причина уязвимости​


Ошибка возникает из-за нарушения порядка освобождения и использования памяти (use-after-free) в указателе vocab внутри llama-server. При переходе сервера в спящий режим указатель освобождается, но параллельные рабочие потоки продолжают на него ссылаться. Формируется гонка состояний, при которой атакующий может перехватить выделенную память и подменить данные, на которые ссылается указатель.

Как работает атака​


Атакующий направляет запросы к уязвимым эндпоинтам в момент, когда сервер инициирует переход в спящий режим. Происходит освобождение указателя vocab. Поскольку другие потоки не синхронизированы с этим событием, они обращаются к уже освобожденной памяти. Атакующий контролирует содержимое этой памяти, что приводит к выполнению произвольного кода. Успех атаки зависит от точного совпадения временных интервалов (AC:H).

Условия успешной эксплуатации​


Необходимо, чтобы llama-server был запущен с флагом --sleep-idle-seconds. Атакующему требуется сетевой доступ к серверу. Учетные данные не нужны (PR:N). Пользовательское взаимодействие не требуется (UI:N). Критическим условием является возможность синхронизировать запросы с моментом перехода сервера в спящий режим.

Возможный сценарий атаки​


Администратор развернул llama-server для инференса LLM-моделей, включив автоматический переход в сон для экономии ресурсов. Злоумышленник начинает отправлять запросы к API. В момент, когда сервер решает перейти в спящий режим, атакующий направляет специально сформированный запрос. Рабочие потоки обращаются к освобожденному указателю, атакующий подменяет данные, и сервер выполняет вредоносный код под правами процесса llama-server.

Есть ли публичный эксплойт​


В источниках указан репозиторий с патчами (Vladimir-tokarev-cyera/llama-cpp-security-patches), что свидетельствует о наличии технического описания и, вероятно, PoC. Подтвержденная массовая эксплуатация в реальных атаках в предоставленных данных не зафиксирована. Отсутствие записи в CISA KEV не означает, что эксплойт не существует, но подтверждает, что он не попал в каталог известных уязвимостей.

Признаки эксплуатации​


Специфичных IOC для CVE-2026-43631 в источниках не приведено. Общие неспецифичные точки контроля: аномальные процессы, запущенные от имени пользователя, под которым работает llama-server; неожиданные исходящие соединения; изменения в файловой системе в директориях, доступных процессу. Эти признаки требуют дополнительной верификации в контексте конкретной инфраструктуры.

Как обнаружить атаку​


Анализируйте логи llama-server на предмет аномальных завершений или ошибок памяти (segfaults) в моменты перехода в спящий режим. Мониторьте сетевые соединения процесса llama-server на предмет исходящих запросов к неизвестным адресам. Проверяйте целостность бинарных файлов llama-server и связанных библиотек. Используйте инструменты мониторинга системных вызовов (eBPF) для отслеживания подозрительной активности в процессах, связанных с llama.cpp.

Как проверить свою версию​


Для проверки версии пакета llama.cpp в Ubuntu используйте:

Bash:
apt-cache policy llama.cpp

Также полезно проверить версию ОС и ядра:

Bash:
cat /etc/os-release
uname -r

Для проверки статуса безопасности системы:

Bash:
ubuntu-security-status

Обратите внимание: если пакет называется иначе, замените <имя-пакета> в команде apt-cache policy на фактическое имя.

Исправление​


Основной способ устранения — обновление пакета llama.cpp до версии, содержащей исправление. В Ubuntu 26.04 LTS следите за обновлениями через стандартные механизмы:

Bash:
sudo apt update
sudo apt upgrade llama.cpp

Если обновление еще не доступно в репозиториях, рассмотрите установку патчей из официального репозитория разработчиков или отключение функции --sleep-idle-seconds до выхода исправления. После обновления перезапустите сервис llama-server.

Временные меры защиты​


До применения патча отключите параметр --sleep-idle-seconds в конфигурации llama-server. Это устранит условие, необходимое для проявления уязвимости (переход в спящий режим). Ограничьте сетевой доступ к llama-server, разрешив соединения только из доверенных сетей. Используйте firewall для блокировки входящих запросов от неизвестных IP-адресов. Запустите llama-server под пользователем с минимальными привилегиями.

Как проверить устранение уязвимости​


После обновления проверьте версию пакета:

Bash:
apt-cache policy llama.cpp

Убедитесь, что версия отличается от 8681+dfsg-1. Проверьте, что параметр --sleep-idle-seconds не указан в конфигурации, если вы решили отключить его временно. Перезапустите сервис и убедитесь, что он работает корректно. Проверьте логи на предмет ошибок после перезапуска.

Вывод​


CVE-2026-43631 представляет серьезную угрозу для систем, использующих llama-server с функцией автоматического перехода в спящий режим. Несмотря на низкий EPSS, критический CVSS-скор и возможность удаленного выполнения кода требуют оперативных действий. Администраторам Ubuntu 26.04 LTS следует проверить наличие пакета llama.cpp, отключить уязвимую функцию или обновить пакет до исправленной версии. Мониторинг логов и сетевой активности поможет выявить возможные попытки эксплуатации.

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


  1. NVD — CVE-2026-43631
  2. Ubuntu OSV — CVE-2026-43631
  3. FIRST EPSS — CVE-2026-43631

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


  • 11.08.2026 — Опубликована первая версия материала.
  • 25.08.2026 — Уточнены сведения об уязвимых версиях, оценке риска или исправлении.
 
Последнее редактирование:
Назад
Верх Низ