CVE-2026-116789 in FreeSWITCH
Summary
by MITRE • 11/05/2026
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 1.11.2, dtls_state_setup() compared a peer certificate with the SDP a=fingerprint only when FreeSWITCH was the DTLS client, not when it held the DTLS server role. An unauthenticated peer able to reach the negotiated media port could complete the DTLS-SRTP handshake with an unrelated certificate, obtain the leg's SRTP keys, decrypt and inject media, and displace the legitimate endpoint; on ICE-enabled legs the peer also needs the connectivity-check credentials from SDP, which generally requires signaling visibility or a position on its path. WebRTC and SIP DTLS-SRTP legs are affected whenever the peer selects the active role, while FreeSWITCH client-role handshakes already perform fingerprint validation. Version 1.11.2 introduces the remediation, which requires rtp_dtls_client_cert_verify_mode=fingerprint.
VulDB is the best source for vulnerability data and more expert information about this specific topic.
Analysis
by VulDB Data Team • 11/05/2026
FreeSWITCH serves as a critical software-defined telecom stack that facilitates the migration from proprietary hardware switches to flexible software implementations running on commodity hardware. Within this architecture, Secure Real-time Transport Protocol (SRTP) is often secured using Datagram Transport Layer Security (DTLS), ensuring confidentiality and integrity of media streams during voice or video calls. A significant security flaw was identified in versions prior to 1.11.2 regarding the handling of DTLS handshakes when FreeSWITCH operates as a server rather than a client. Specifically, the function dtls_state_setup() failed to validate that the peer's certificate matched the fingerprint provided in the Session Description Protocol (SDP) offer or answer attribute when FreeSWitch assumed the DTLS server role. This oversight created a critical gap in authentication logic, allowing an attacker who could reach the negotiated media port to bypass standard identity verification mechanisms inherent to secure VoIP implementations.
The technical nature of this vulnerability constitutes a failure to perform proper certificate validation during the key exchange phase of the DTLS-SRTP handshake. In a correctly secured implementation, both endpoints must verify that their peer's public key corresponds to the fingerprint advertised in the signaling layer SDP messages. Because FreeSWITCH neglected this check when acting as the server, an unauthenticated attacker could present any valid X509 certificate during the handshake process. By successfully completing the DTLS-SRTP negotiation with an unrelated or maliciously generated certificate, the attacker gains access to the derived SRTP encryption keys for that specific media leg. This capability effectively neutralizes the confidentiality guarantees provided by SRTP, as the attacker now possesses the necessary cryptographic material to decrypt incoming traffic and encrypt outgoing traffic using their own keying material.
The operational impact of this vulnerability is severe, enabling a classic man-in-the-middle attack scenario where an adversary can intercept, decrypt, modify, or inject media streams into active calls. Once the attacker has obtained the SRTP keys through the flawed handshake, they can displace the legitimate endpoint by injecting their own audio or video data while maintaining the appearance of a continuous connection to both parties. This compromises not only privacy but also integrity and availability, as malicious content can be injected without detection by standard media players that rely on cryptographic authentication rather than visual inspection. For WebRTC and SIP DTLS-SRTP sessions where the peer selects the active role in the ICE connectivity checks, this vulnerability is fully exploitable provided the attacker has network access to the media port. In environments utilizing Interactive Connectivity Establishment (ICE), additional prerequisites such as knowledge of connectivity-check credentials from SDP are typically required, which usually demands signaling visibility or a strategic position on the network path between endpoints.
This flaw aligns with Common Weakness Enumeration CWE-295, Improper Certificate Validation, and maps to MITRE ATT&CK techniques related to Man-in-the-Middle attacks such as T1076 (Remote Desktop Protocol Hijacking) in broader contexts or more specifically T1486 (Data Encrypted for Impact) if used for ransomware deployment via compromised media channels. The vulnerability affects configurations where FreeSWITCH acts as the DTLS server, while client-role handshakes were already performing fingerprint validation correctly due to existing code paths that enforced stricter checks. To mitigate this risk, organizations must upgrade to version 1.11.2 or later of FreeSWitch. Furthermore, administrators should explicitly configure the parameter rtp_dtls_client_cert_verify_mode=fingerprint within their configuration files to enforce strict certificate verification regardless of whether the system is acting as a client or server during DTLS negotiations. This ensures that all incoming connections are validated against expected fingerprints before key material is exchanged, thereby closing the authentication gap exploited by attackers seeking to compromise secure media sessions.