OpenSIPS — это реализация сервера протокола инициации сеанса (SIP). Версии до 3.6.6 и 4.0.0-rc1 содержат уязвимость отказа в обслуживании в функции создания информации о наблюдателе. Злоумышленник может создать слишком большую запись наблюдателя, отправив SUBSCRIBE Event: запрос присутствия с длинным URI From, а затем инициировав генерацию XML-файла присутствия.winfo watcherinfo для того же присутствия. OpenSIPS копирует сохраненный URI наблюдателя в буфер стека фиксированного размера, переполняя его и приводя к сбою процесса.
Удаленный злоумышленник может привести к сбою работника OpenSIPS в развертываниях, которые предоставляют handle_subscribe() и позволяют генерировать информацию о наблюдателе (presence.winfo). Проблема зависит от конфигурации, поскольку модули присутствия и присутствия_xml должны быть загружены, а маршрутизация SUBSCRIBE должна быть доступна. Эта проблема исправлена в версиях 3.6.6 и 4.0.0-rc1.
Показать оригинальное описание (EN)
OpenSIPS is a Session Initiation Protocol (SIP) server implementation. Versions prior to 3.6.6 and 4.0.0-rc1 contain a denial of service vulnerability in the watcherinfo generation functionality. An attacker can create an oversized watcher entry by sending a SUBSCRIBE Event: presence request with a long From URI, and then trigger presence.winfo watcherinfo XML generation for the same presentity. OpenSIPS copies the stored watcher URI into a fixed-size stack buffer, overflowing it and crashing the process. A remote attacker can crash an OpenSIPS worker in deployments that expose handle_subscribe() and allow watcherinfo (presence.winfo) generation. The issue is configuration-dependent because the presence and presence_xml modules must be loaded and SUBSCRIBE routing must be reachable. This issue has been fixed in versions 3.6.6 and 4.0.0-rc1.
Характеристики атаки
Последствия
Строка CVSS v4.0