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
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| 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.
Alpine
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| 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)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Alpine v3.19 | freeswitch | 1.10.11-r0 | — |
| Alpine v3.18 | freeswitch | 1.10.11-r0 | — |
| Alpine v3.17 | freeswitch | 1.10.11-r0 | — |