CVE: CVE-2026-43631
Продукт: Ubuntu
Дата публикации: 07.08.2026
Критичность: CRITICAL
CVSS: 9.2 (4.0)
EPSS: 0,41%; процентиль 33,96%
CISA KEV: нет подтверждения в каталоге CISA KEV
Краткое описание
Уязвимость CVE-2026-43631 в Ubuntu связана с уязвимостью типа use-after-free в компоненте llama.cpp, которая может быть использована для выполнения произвольного кода. В системах Ubuntu, где установлено затронутое программное обеспечение, существует риск несанкционированного удаленного доступа. Обновление рекомендуется как мера безопасности.
Основные характеристики
Уязвимость CVE-2026-43631 является критической и связана с уязвимостью типа use-after-free в компоненте llama.cpp, используемом в серверной среде. Она затрагивает версии пакета в диапазоне от b7492 до b9060. При активации функции --sleep-idle-seconds сервер может перейти в режим сна, во время которого происходит освобождение указателя vocab, но потоки продолжают использовать его. Это может привести к перезаписи памяти с данными, контролируемыми атакующим, что позволяет выполнить произвольный код. Уязвимость имеет высокую степень серьезности и может быть использована без аутентификации.
Какие продукты и версии затронуты
В Ubuntu 26.04 LTS затронуты пакеты, основанные на версии llama.cpp, включая libllama0, llama.cpp, llama.cpp-examples, llama.cpp-tests, llama.cpp-tools, llama.cpp-tools-extra и python3-gguf. Все эти пакеты имеют версию 8681+dfsg-1. Уязвимость распространяется на все системы, где установлено программное обеспечение, использующее версии b7492 через b9060. Системы, где установлены более новые версии или отсутствует пакет, не подвержены этой уязвимости.
Причина уязвимости
Корневая проблема возникает при использовании функции --sleep-idle-seconds в серверной среде llama-server. Во время перехода в спящий режим указатель vocab освобождается, но параллельные потоки продолжают обращаться к нему. Это приводит к уязвимости типа use-after-free, позволяющей перезаписать память с данными, предоставленными атакующим. Такая ситуация возможна, если потоки не завершаются до окончания использования указателя.
Как работает атака
Атакующий может активировать уязвимость, отправляя запросы к серверу во время перехода в спящий режим. Когда сервер переходит в спящий режим, потоки, обрабатывающие запросы, могут продолжать использовать указатель vocab, который уже был освобожден. Если данные, которые будут записаны в эту память, контролируются атакующим, то он может изменить поведение программы. Это может быть использовано для выполнения произвольного кода на сервере.
Условия успешной эксплуатации
Для эксплуатации уязвимости требуется, чтобы сервер был сконфигурирован с включенной функцией --sleep-idle-seconds. Также необходим доступ к серверу по сети, так как атака осуществляется через сетевой интерфейс. Атакующий должен иметь возможность отправлять запросы к серверу в момент перехода в спящий режим.
Возможный сценарий атаки
Атакующий подключается к серверу, который настроен с параметром --sleep-idle-seconds. Во время активности сервера, он получает запросы, которые вызывают переход в спящий режим. В этот момент потоки, обрабатывающие запросы, могут использовать освобожденный указатель vocab. Если данные, записываемые в память, контролируются атакующим, это может привести к выполнению произвольного кода. Сценарий возможен даже при отсутствии аутентификации.
Есть ли публичный эксплойт
На момент подготовки статьи не было подтверждено наличия публичного эксплойта для CVE-2026-43631. Техническое описание уязвимости указывает на возможность эксплуатации через использование указателя после его освобождения. Отсутствие публичного PoC не исключает потенциальную эксплуатацию, особенно при наличии других уязвимостей или слабых точек в системе.
Признаки эксплуатации
Поскольку уязвимость связана с конкретной функциональностью и состоянием потоков, возможны следующие признаки: аномальное поведение сервера при переходе в спящий режим, необычные вызовы функций или ошибки в логах, связанные с освобождением памяти. Однако, точные идентификаторы IOC не указаны, и рекомендуется использовать общие методы мониторинга и контроля за системой.
Как обнаружить атаку
Обнаружение возможно через мониторинг активности сервера, особенно при переходе в спящий режим. Системы, где установлены пакеты с версиями b7492–b9060, могут быть проверены с помощью команды apt-cache policy <имя-пакета>. Также можно использовать специализированные инструменты для анализа поведения потоков и выявления возможных утечек памяти.
Как проверить свою версию
Для проверки версии пакета в Ubuntu выполните команду:
apt-cache policy <имя-пакета> или dpkg -l | grep <имя-пакета>. Например, для проверки пакета llama.cpp: apt-cache policy llama.cpp. Для получения информации о текущей версии ядра: uname -r. Также можно использовать ubuntu-security-status для получения общего обзора состояния безопасности.Исправление
Рекомендуется обновить все пакеты, связанные с llama.cpp, до версии, в которой устранена уязвимость. Обновление должно быть выполнено через стандартные механизмы управления пакетами Ubuntu, например, с помощью
apt update && apt upgrade. Убедитесь, что все системы, где установлены затронутые пакеты, были обновлены до последней версии.Временные меры защиты
Временные меры защиты могут включать отключение функции --sleep-idle-seconds, если она не требуется. Также можно ограничить доступ к серверу через брандмауэр или другие средства контроля доступа. Рекомендуется также вести мониторинг активности сервера и логов для выявления подозрительных действий.
Как проверить устранение уязвимости
После обновления пакетов проверьте, что версии соответствуют исправленным. Выполните команду
apt-cache policy <имя-пакета> и убедитесь, что установленные версии выше, чем b9060. Также можно использовать dpkg -l | grep <имя-пакета> для проверки установленных пакетов. Логи системы должны показывать отсутствие ошибок, связанных с утечкой памяти.Вывод
CVE-2026-43631 представляет собой серьезную уязвимость в Ubuntu, связанную с утечкой памяти в компоненте llama.cpp. Она может быть использована для выполнения произвольного кода без аутентификации. Обновление пакетов является обязательным шагом для защиты систем. Рекомендуется применить исправление и отслеживать поведение сервера после обновления.
Официальные источники
История обновлений статьи
- 11.08.2026 — Опубликована первая версия материала.
