Ad

CVE-2026-45537

CRITICAL CVSS 3.1: 9,1 EPSS 0.36%
Обновлено 5 августа 2026
Opensips
Параметр Значение
CVSS 9,1 (CRITICAL)
Уязвимые версии до 3.6.6
Тип уязвимости CWE-120 (Копирование в буфер без проверки размера)
Поставщик Opensips
Публичный эксплойт Нет

OpenSIPS — это реализация сервера протокола инициации сеанса (SIP). В версиях до 3.6.6 и 4.0.0-rc1 функцияstruct_uri() объединяет несколько компонентов URI (протокол, имя пользователя, домен, порт, параметры) в фиксированный глобальный буфер BSS размером 1024 байта без какой-либо проверки границ. Когда сценарий маршрутизации вызывает функциюstruct_uri() с именем пользователя, контролируемым злоумышленником, совокупная длина компонента, превышающая 1024 байта, переполняет буфер, повреждая соседние глобальные данные содержимым, контролируемым злоумышленником.

Переполнение достигает Disable_503_translation, глобального флага, управляющего обработкой ответов SIP 503, что позволяет злоумышленнику детерминированно установить флаг через имя пользователя URI и изменить поведение маршрутизации сервера для последующих сообщений. Поскольку тот же буфер используется совместно с contact_builder(), переполнение также повреждает данные этой функции, и без средства очистки памяти соседние глобальные переменные автоматически перезаписываются при каждом запросе, содержащем длинное имя пользователя. Эта проблема исправлена ​​в версиях 3.6.6 и 4.0.0-rc1.

Показать оригинальное описание (EN)

OpenSIPS is a Session Initiation Protocol (SIP) server implementation. In versions prior to 3.6.6 and 4.0.0-rc1, the construct_uri() function concatenates multiple URI components (protocol, username, domain, port, params) into a fixed 1024-byte global BSS buffer without any bounds checking. When a routing script calls construct_uri() with an attacker-controlled username, a combined component length exceeding 1024 bytes overflows the buffer, corrupting adjacent global data with attacker-controlled content. The overflow reaches disable_503_translation, a global flag controlling SIP 503 response handling, allowing an attacker to deterministically set the flag via the URI username and alter the server's routing behavior for subsequent messages. Because the same buffer is shared with contact_builder(), the overflow also corrupts that function's data, and without a memory sanitizer the adjacent globals are silently overwritten on every request containing a long username. This issue has been fixed in versions 3.6.6 and 4.0.0-rc1.

Характеристики атаки

Способ атаки
По сети
Атака возможна удалённо
Сложность
Низкая
Легко эксплуатировать
Нужны права
Не требуются
Права не нужны
Участие пользователя
Не требуется
Не нужно действие пользователя

Последствия

Конфиденциальность
Нет
Нет утечки данных
Целостность
Высокое
Полная модификация данных
Доступность
Высокое
Полный отказ в обслуживании

Строка CVSS v3.1