CVE-2026-45538 в Ubuntu: переполнение стекового буфера в OpenSIPS

CVE: CVE-2026-45538
Продукт: Ubuntu
Дата публикации: 05.08.2026
Критичность: CRITICAL
CVSS: 9.8 (3.1)
EPSS: 0,48%; процентиль 38,99%
CISA KEV: нет подтверждения в каталоге CISA KEV

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


Уязвимость CVE-2026-45538 в OpenSIPS, реализующем сервер SIP, позволяет вызвать переполнение стекового буфера при обработке SIP-сообщений с заголовками длиной более 255 байт. Это может привести к отказу в обслуживании или удаленному выполнению кода. Уязвимость затрагивает версии OpenSIPS до 4.0.0 и касается систем, где функция sip_to_json() используется в скриптах маршрутизации.

Базовые сведения о записи CVE и оценке риска приведены в [1].

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


Уязвимость связана с функцией sip_to_json() в модуле sipmsgops OpenSIPS. При вызове этой функции имя заголовка SIP копируется в стековый буфер размером 255 байт без проверки длины. Если имя заголовка превышает это значение, происходит переполнение буфера, что позволяет контролировать адрес возврата и сохраненный указатель фрейма. Возможна атака типа удалённое выполнение кода (RCE), если система не защищена механизмами защиты стека. Атака возможна через один неаутентифицированный UDP-пакет на порт 5060. Уязвимость не была исправлена на момент публикации.

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


В Ubuntu затронуты пакеты OpenSIPS версии 2.2.2-3build4, распространяемые в составе Ubuntu 18.04 LTS. Включают в себя основной пакет opensips и ряд модулей, таких как opensips-b2bua-module, opensips-berkeley-module, opensips-carrierroute-module и другие. Все указанные бинарные файлы подвержены уязвимости при использовании в скриптах маршрутизации, где вызывается функция sip_to_json().

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


Проблема возникает из-за отсутствия проверки длины имени заголовка SIP при вызове функции sip_to_json() в модуле sipmsgops. Функция выполняет memcpy с произвольной длиной имени заголовка в буфер фиксированного размера (255 байт), что приводит к переполнению стека. Уязвимость классифицирована как CWE-121 — Stack-based Buffer Overflow. Уязвимость не устранена в версиях до 4.0.0.

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


Атакующий отправляет SIP-сообщение с именем заголовка длиной более 255 байт. При обработке сообщения функция sip_to_json() вызывается в скрипте маршрутизации, что приводит к переполнению стека. Если система не защищена механизмами ASLR/stack canary, злоумышленник может перезаписать указатель возврата и выполнить произвольный код. Атака требует только одного UDP-пакета на порт 5060, что делает её особенно опасной для сетевых сервисов SIP.

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


Для успешной эксплуатации уязвимости необходимо, чтобы система использовала OpenSIPS с активным скриптом маршрутизации, вызывающим функцию sip_to_json(). Также важно, чтобы система не применяла механизмы защиты стека, такие как stack canary или ASLR. Уязвимость не зависит от аутентификации и может быть использована с любого IP-адреса.

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


Система с OpenSIPS 2.2.2-3build4, работающая как SIP-сервер, получает UDP-пакет с заголовком длиной более 255 байт. При обработке пакета вызывается sip_to_json(), что приводит к переполнению стека. Если система не защищена, злоумышленник может перехватить управление и выполнить произвольный код. Атака может быть использована для получения полного контроля над сервером или его принудительного отказа в обслуживании.

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


На момент публикации уязвимость не имеет подтвержденного эксплойта в открытом доступе. Однако техническое описание уязвимости включает подробную информацию о том, как можно использовать переполнение стека для достижения RCE. Отсутствие публичного PoC не исключает потенциальную эксплуатацию уязвимости вредоносными организациями или вредоносным ПО.

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


Нет специфичных IOC для данной уязвимости. Однако можно наблюдать аномалии в логах SIP-сервера, такие как неожиданные ошибки обработки заголовков или необычные пакеты с большими именами заголовков. Для мониторинга рекомендуется анализировать трафик на порту 5060 и отслеживать аномалии в работе OpenSIPS.

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


Для обнаружения уязвимости необходимо проверить версию установленного пакета OpenSIPS и наличие скриптов маршрутизации, вызывающих sip_to_json(). Также можно проанализировать логи OpenSIPS на предмет необычных значений заголовков. Наличие уязвимости не подтверждается автоматически, требуется ручная проверка конфигураций.

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


Для проверки версии OpenSIPS в Ubuntu выполните следующие команды:

Bash:
apt-cache policy opensips

или

Bash:
apt list --installed | grep opensips

Если установленная версия ниже 4.0.0, система подвержена уязвимости. Рекомендуется также проверить, используются ли скрипты маршрутизации с вызовом sip_to_json().

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


Единственный способ устранить уязвимость — обновление OpenSIPS до версии 4.0.0 или выше. В случае отсутствия обновлений, рекомендуется отключить или ограничить использование функции sip_to_json() в скриптах маршрутизации. Также следует рассмотреть возможность применения дополнительных мер защиты, таких как фильтрация входящего трафика на уровне сети.

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


Временные меры защиты включают ограничение доступа к порту 5060 через брандмауэр, отключение функции sip_to_json() в скриптах маршрутизации, а также применение средств обнаружения аномалий в трафике SIP. Эти действия могут снизить риск эксплуатации уязвимости до момента установки исправления.

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


После обновления OpenSIPS до версии 4.0.0 или выше, необходимо проверить, что версия пакета корректно установлена:

Bash:
apt-cache policy opensips

Также рекомендуется перезапустить службу OpenSIPS и убедиться, что она работает корректно. Проверка конфигураций скриптов маршрутизации также важна для подтверждения отсутствия использования уязвимой функции.

Вывод​


CVE-2026-45538 представляет собой серьезную уязвимость в OpenSIPS, которая может быть использована для удаленного выполнения кода. Уязвимость затрагивает Ubuntu 18.04 LTS и все системы, использующие версии OpenSIPS до 4.0.0. Рекомендуется немедленно обновить систему до последней версии или применить временные меры защиты. Отсутствие подтвержденного эксплойта не исключает возможность его использования в реальных атаках.

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


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

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


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