Skip to content
OpenAdvisories
High · 7.5 CVE-2023-51443 EUVD-2023-56161

FreeSWITCH susceptible to Denial of Service via DTLS Hello packets during call initiation

Published Dec 27, 2023 · Updated Nov 4, 2025 · Assigned by GitHub_M

Description

FreeSWITCH is a Software Defined Telecom Stack enabling the digital transformation from proprietary telecom switches to a software implementation that runs on any commodity hardware. Prior to version 1.10.11, when handling DTLS-SRTP for media setup, FreeSWITCH is susceptible to Denial of Service due to a race condition in the hello handshake phase of the DTLS protocol. This attack can be done continuously, thus denying new DTLS-SRTP encrypted calls during the attack. If an attacker manages to send a ClientHello DTLS message with an invalid CipherSuite (such as `TLS_NULL_WITH_NULL_NULL`) to the port on the FreeSWITCH server that is expecting packets from the caller, a DTLS error is generated. This results in the media session being torn down, which is followed by teardown at signaling (SIP) level too. Abuse of this vulnerability may lead to a massive Denial of Service on vulnerable FreeSWITCH servers for calls that rely on DTLS-SRTP. To address this vulnerability, upgrade FreeSWITCH to 1.10.11 which includes the security fix. The solution implemented is to drop all packets from addresses that have not been validated by an ICE check.

Affected products

VendorProductAffectedFixed
signalwire freeswitch < 1.10.11 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Alpine v3.24 freeswitch 1.10.11-r0 —
Alpine v3.23 freeswitch 1.10.11-r0 —
Alpine v3.22 freeswitch 1.10.11-r0 —
Alpine v3.21 freeswitch 1.10.11-r0 —
Alpine v3.20 freeswitch 1.10.11-r0 —
Show 3 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Alpine v3.19 freeswitch 1.10.11-r0 —
Alpine v3.18 freeswitch 1.10.11-r0 —
Alpine v3.17 freeswitch 1.10.11-r0 —

References