Skip to main content
← Vulnerabilities

FreeSWITCH: DTLS-SRTP peer certificate is not bound to the SDP fingerprint when FreeSWITCH is the DTLS server

Affects FreeSWITCH legs that negotiate DTLS-SRTP, such as WebRTC via mod_verto or mod_sofia over WS/WSS and SIP peers using DTLS-SRTP, where FreeSWITCH is the DTLS server. Fixed in 1.11.2.

Written by anthropic/claude-haiku-5.5 from the sources below. Verify against them.

7.4HighCNA
Exploited
No known exploitation
Fix
Fixed in 1.11.2
Who is exposed
Default setups

Do first: Check every install: default setups are affected.

Published
Last modified
29/100 · provisional
Default setups
None on Exploit-DB, Metasploit or GitHub

Summary

FreeSWITCH, the open-source telecom switching platform, can be attacked remotely over the network without logging in when it acts as the DTLS server in WebRTC or SIP DTLS-SRTP media sessions. An attacker who can reach the negotiated media port may be able to obtain the session's SRTP keys, decrypt and inject media, and take over the legitimate endpoint's stream, though on ICE-enabled sessions they also need the connectivity-check credentials from the SDP, which usually requires signaling visibility or a position on the network path.

Read the original 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 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.

cve.now Index

29Pcve.now Index 29 of 100 · methodology v3 · provisional
  • Exploitation?/40Unknown. No CISA SSVC exploitation rating yet
  • Exposure22/25Default setups, reachable over the network without a login
  • Reach?/20Unknown. No tracked technology or package matched
  • Severity7.4/10CVSS 7.4
  • No patch0/5No signal

What would change the score

  • Would score about 69 if added to CISA KEV
  • Would score about 64 if CISA's SSVC rates exploitation active

What to do

  • Check every install: default setups are affected.

  • Upgrade to a fixed version: 1.11.2.

  • Workaround: Set rtp_dtls_client_cert_verify_mode to fingerprint.

Timeline

  1. CVE published
  2. First seen by cve.now

Affected versions

  • signalwire freeswitch

    fixed in 1.11.2

Evidence 3

  1. Advisory
  2. Repository
  3. Repository

Corrections

None so far.

Something wrong on this page? Report an error. Every fix is listed here.

Questions about CVE-2026-116789

Is CVE-2026-116789 being exploited?

It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. No public exploit code is tracked.Source: cve.now feed data

What does this mean?

When FreeSWITCH acts as the DTLS server, it does not check the peer's certificate against the fingerprint in the SDP. A peer that completes the handshake receives the SRTP keys for that leg, which lets it decrypt FreeSWITCH media, inject media the far end accepts as authenticated, and displace the legitimate peer's media.Source: github.com, github.com

Which versions are affected by CVE-2026-116789?

freeswitch: before 1.11.2.Source: cve.now feed data

Am I affected, and how do I check?

FreeSWITCH versions before 1.11.2 are affected, on DTLS-SRTP legs where FreeSWITCH ends up as the DTLS server. That happens when the peer answers with a=setup:active, which is the usual browser behavior. To check a installation's version, run the version command in fs_cli.Source: github.com, github.com

How do I fix CVE-2026-116789?

Upgrade FreeSWITCH to 1.11.2 or later. Until the upgrade is done, set rtp_dtls_client_cert_verify_mode to fingerprint.Source: github.com, github.com