Coturn — это бесплатная реализация TURN и STUN Server с открытым исходным кодом. До версии 4.17.0 функция Turnports_allocate_even() в src/apps/relay/turn_ports.c помечает неиспользуемый нечетный одноуровневый порт как TPS_TAKEN_ODD для запроса EVEN-PORT Allocate с битом резервирования R=0, даже если ни один сокет RTCP не освободит его, что позволяет аутентифицированному клиенту навсегда исчерпать пул ретрансляционных портов и привести к сбою последующих выделений с ошибкой STUN 508. Эта проблема исправлена в версии 4.17.0.
Показать оригинальное описание (EN)
Coturn is a free open source implementation of TURN and STUN Server. Prior to 4.17.0, turnports_allocate_even() in src/apps/relay/turn_ports.c marks the unused odd sibling port as TPS_TAKEN_ODD for an EVEN-PORT Allocate request with reservation bit R=0 even though no RTCP socket will release it, allowing an authenticated client to permanently exhaust the relay port pool and cause subsequent allocations to fail with STUN error 508. This issue is fixed in version 4.17.0.
Характеристики атаки
Последствия
Строка CVSS v4.0