Skip to content
OpenAdvisories
High · 7.5 CVE-2021-41105 EUVD-2021-28242

FreeSWITCH susceptible to Denial of Service via invalid SRTP packets

Published Oct 25, 2021 · Updated Aug 4, 2024 · 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. When handling SRTP calls, FreeSWITCH prior to version 1.10.7 is susceptible to a DoS where calls can be terminated by remote attackers. This attack can be done continuously, thus denying encrypted calls during the attack. When a media port that is handling SRTP traffic is flooded with a specially crafted SRTP packet, the call is terminated leading to denial of service. This issue was reproduced when using the SDES key exchange mechanism in a SIP environment as well as when using the DTLS key exchange mechanism in a WebRTC environment. The call disconnection occurs due to line 6331 in the source file `switch_rtp.c`, which disconnects the call when the total number of SRTP errors reach a hard-coded threshold (100). By abusing this vulnerability, an attacker is able to disconnect any ongoing calls that are using SRTP. The attack does not require authentication or any special foothold in the caller's or the callee's network. This issue is patched in version 1.10.7.

Affected products

VendorProductAffectedFixed
signalwire freeswitch < 1.10.7 —

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.7-r0 —
Alpine v3.23 freeswitch 1.10.7-r0 —
Alpine v3.22 freeswitch 1.10.7-r0 —
Alpine v3.21 freeswitch 1.10.7-r0 —
Alpine v3.20 freeswitch 1.10.7-r0 —
Show 5 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Alpine v3.19 freeswitch 1.10.7-r0 —
Alpine v3.18 freeswitch 1.10.7-r0 —
Alpine v3.17 freeswitch 1.10.7-r0 —
Alpine v3.16 freeswitch 1.10.7-r0 —
Alpine v3.15 freeswitch 1.10.7-r0 —

References