CVE: CVE-2026-67870
Продукт: Ubuntu
Дата публикации: 06.08.2026
Критичность: CRITICAL
CVSS: 9.8 (3.1)
EPSS: 0,57%; процентиль 44,64%
CISA KEV: нет подтверждения в каталоге CISA KEV
Краткое описание
В библиотеке open62541, поставляемой в Ubuntu 26.04 LTS, обнаружена критическая уязвимость в реализации серверной функции AddReferences. Ошибка позволяет удаленному атакующему вызвать обращение к NULL-указателю, что приводит к отказу в обслуживании или потенциальному выполнению кода. В статье описаны механика атаки, затронутые версии пакетов и порядок применения исправлений.
Основные характеристики
Уязвимость позволяет удаленному атакующему без предварительной аутентификации нарушить работоспособность сервера OPC UA, отправив специально сформированный запрос. Ошибка связана с недостаточной валидацией параметров, что приводит к обращению к памяти по нулевому указателю.
- Тип ошибки: CWE-476 (NULL Pointer Dereference). Обращение к памяти по нулевому указателю, что обычно приводит к аварийному завершению процесса.
- CVSS 3.1: 9.8 (CRITICAL). Вектор:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H. Высокая оценка отражает возможность удаленного доступа без аутентификации и серьезное влияние на конфиденциальность, целостность и доступность.
- Условия атаки: Сетевой доступ (AV:N), низкая сложность (AC:L), отсутствие требований к правам (PR:N) и взаимодействию пользователя (UI:N).
- Эксплуатация: В каталоге CISA KEV подтверждений о массовой эксплуатации в дикой природе на данный момент нет.
- EPSS: 0,57% (процентиль 44,64%). Вероятность эксплуатации в ближайшие 30 дней оценивается как низкая, но не нулевая.
Какие продукты и версии затронуты
Согласно данным Ubuntu OSV, уязвимость затрагивает пакет
open62541 в дистрибутиве Ubuntu 26.04 LTS (Resolute Raccoon).- Пакет:
open62541(source package).
- Версия:
1.4.11.1-1build1.
- Затронутые бинарные пакеты:
libopen62541-1.4версии1.4.11.1-1build1.
libopen62541-1.4-toolsверсии1.4.11.1-1build1.
Данные относятся исключительно к экосистеме Ubuntu 26.04 LTS. Для других версий Ubuntu или дистрибутивов информация не подтверждена в предоставленных источниках.
Причина уязвимости
Причина уязвимости кроется в реализации серверной функции
AddReferences в версии open62541 v1.5.5 (на которую ссылается CVE, хотя в Ubuntu поставляется версия 1.4.x, содержащая аналогичную логику или унаследованную от этой ветки разработки).При обработке запроса
AddReferencesRequest система проверяет параметры целевого узла. Если в запросе передан ExpandedNodeId с пустым targetServerUri и ненулевым targetNodeId.serverIndex, валидация не блокирует обработку. В результате указатель на целевой узел остается NULL, но выполнение кода продолжается, что приводит к обращению к памяти по нулевому указателю.Как работает атака
Атакующий отправляет на сервер OPC UA специально сформированный запрос
AddReferencesRequest. В этом запросе поле targetServerUri задается как пустая строка, а поле targetNodeId.serverIndex принимает ненулевое значение.Серверная логика open62541 при обработке таких параметров не выполняет корректную проверку на валидность целевого узла. Указатель на узел не инициализируется и остается
NULL. Последующие операции, использующие этот указатель, приводят к обращению к памяти по адресу 0x0, что вызывает сбой процесса (segfault) или, в зависимости от контекста, может быть использовано для более сложной эксплуатации.Условия успешной эксплуатации
Для успешной эксплуатации уязвимости атакующему необходимо:
- Иметь сетевой доступ к порту, на котором работает сервер OPC UA (обычно 4840).
- Иметь возможность отправлять запросы в формате OPC UA (AddReferencesRequest).
- Не требуется наличие учетных данных или предварительная аутентификация (PR:N).
- Не требуется взаимодействие с пользователем (UI:N).
Возможный сценарий атаки
Атакующий сканирует сеть в поиске открытых портов OPC UA. Обнаружив уязвимый сервер, он формирует пакет
AddReferencesRequest с параметрами, описанными в разделе «Причина уязвимости».Отправка такого запроса приводит к аварийному завершению процесса сервера. Если сервер работает в режиме демона без автоматического перезапуска, это приводит к отказу в обслуживании (DoS).
В более сложных сценариях, если память по адресу 0x0 может быть отображена атакующим, возможна попытка выполнения кода, однако для этого требуются дополнительные условия, не подтвержденные в открытых источниках.
Есть ли публичный эксплойт
В каталоге CISA KEV (Known Exploited Vulnerabilities) CVE-2026-67870 не числится, что означает отсутствие подтвержденных фактов массовой эксплуатации в реальных атаках на данный момент.
В репозитории open62541 на GitHub существует issue #8172, где описана проблема. Однако наличие технического описания и ссылки на исходный код не является подтверждением того, что существует публичный рабочий эксплойт (PoC) или что уязвимость активно эксплуатируется в дикой природе. Отсутствие сведений в KEV не гарантирует отсутствие эксплойта, но указывает на то, что он не стал широко известным или массово используемым.
Признаки эксплуатации
Специфических индикаторов компрометации (IOC) для этой уязвимости в открытых источниках не опубликовано. Однако можно использовать следующие неспецифичные признаки, требующие дополнительной проверки:
- Аварийное завершение процесса
open62541илиlibopen62541в логах системы.
- Записи в логах сервера OPC UA о получении запросов
AddReferencesRequestс аномальными параметрами (пустойserverUriи ненулевымserverIndex).
- Внезапные перерывы в работе сервисов, использующих OPC UA, без видимых причин на стороне приложения.
Как обнаружить атаку
Для обнаружения атаки или следов эксплуатации рекомендуется:
- Анализировать логи сервера OPC UA на предмет запросов
AddReferencesRequestс подозрительными параметрами.
- Мониторить стабильность процесса: частые аварийные завершения (crash) процесса open62541 могут указывать на эксплуатацию.
- Использовать средства мониторинга целостности (HIDS) для отслеживания изменений в конфигурации или попыток доступа к памяти по нулевому указателю (если поддерживается).
- Проверять журналы системы (syslog, journalctl) на наличие сообщений об ошибках сегментации (segfault) в процессе open62541.
Как проверить свою версию
Для проверки версии установленного пакета
open62541 в Ubuntu используйте следующие команды:
Bash:
# Проверка версии ОС
cat /etc/os-release
# Проверка версии ядра (для контекста)
uname -r
# Проверка версии пакета open62541
apt-cache policy open62541
# Проверка статуса безопасности Ubuntu
ubuntu-security-status
Обратите внимание: в команде
apt-cache policy замените <имя-пакета> на open62541, если вы используете шаблон. В данном случае пакет называется open62541.Исправление
Основным способом устранения уязвимости является обновление пакета
open62541 до исправленной версии.- Проверьте наличие обновлений в репозиториях Ubuntu:
apt-get update.
- Установите обновление:
apt-get upgrade open62541.
- После обновления перезапустите сервисы, использующие open62541, чтобы изменения вступили в силу.
Если обновление еще не доступно в вашем репозитории, следите за официальными уведомлениями Ubuntu Security (CVE-2026-67870 | Ubuntu).
Временные меры защиты
До применения официального исправления можно использовать следующие временные меры:
- Ограничьте сетевой доступ к порту OPC UA (4840) до доверенных IP-адресов с помощью файрвола (iptables/nftables).
- Если возможно, отключите сервис OPC UA, если он не критичен для текущих операций.
- Убедитесь, что сервер OPC UA работает в изолированной сети или за балансировщиком, который может фильтровать аномальные запросы.
- Настройте автоматический перезапуск сервиса при аварийном завершении, чтобы минимизировать время простоя в случае атаки DoS.
Как проверить устранение уязвимости
Для проверки успешного применения исправления:
- Проверьте версию пакета:
apt-cache policy open62541. Убедитесь, что версия отличается от1.4.11.1-1build1.
- Проверьте, что сервис работает стабильно и не завершается аварийно после отправки тестовых запросов (если есть возможность безопасного тестирования).
- Проверьте логи на наличие ошибок после обновления.
- Используйте
ubuntu-security-statusдля подтверждения, что система не имеет известных уязвимостей, требующих внимания.
Вывод
CVE-2026-67870 представляет собой серьезную угрозу для систем, использующих open62541 в Ubuntu 26.04 LTS. Уязвимость позволяет удаленному атакующему вызвать отказ в обслуживании или потенциально выполнить код.
Рекомендуется как можно скорее обновить пакет
open62541 до исправленной версии и ограничить сетевой доступ к сервису OPC UA до тех пор, пока обновление не будет применено.Следите за официальными уведомлениями Ubuntu Security для получения информации о доступности патчей.
Официальные источники
История обновлений статьи
- 08.08.2026 — Опубликована первая версия материала.
- 10.08.2026 — Уточнены сведения об уязвимых версиях, оценке риска или исправлении.
- 27.08.2026 — Уточнены сведения об уязвимых версиях, оценке риска или исправлении.
Последнее редактирование:
