---
id: "CVE-2026-116790"
kind: "vulnerability"
aliases: ["CVE-2026-116790"]
title: "FreeSWITCH: forged ICE checks let a network peer hijack call media"
severity: "critical"
cvss: 9.1
epss: null
exploited: false
status: "open"
category: "runtime"
products: []
ecosystems: []
tags: ["freeswitch", "runtime", "sip", "telecom", "voip", "webrtc"]
not_affected_if: ["media-ports-not-reachable", "no-ice-legs", "version-1.11.2-or-later"]
published_at: "2026-11-05T20:17:46+00:00"
first_seen_at: "2026-11-05T20:40:46+00:00"
updated_at: "2026-11-05T20:42:51+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-116790", "first_seen_at": "2026-11-05T20:40:46+00:00"}]
exploit_sources: []
---

# FreeSWITCH: forged ICE checks let a network peer hijack call media

FreeSWITCH accepted ICE connectivity checks without validating their STUN MESSAGE-INTEGRITY attribute, so a network peer can forge a check without SDP credentials. The forged check redirects RTP and DTLS media, letting an attacker eavesdrop on or inject into unencrypted calls and terminate the legitimate media path on WebRTC and SIP legs that use ICE.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check the FreeSWITCH version with `fs_cli -x version` and compare it to the fixed range.
- Look for `ice_verify_message_integrity` in the FreeSWITCH configuration; it is not set to `true` if the fix is not applied.
- Note whether the media port of any ICE-enabled leg is reachable from untrusted networks.

## Fix

- FreeSWITCH: move to `1.11.2` or later, and set `ice_verify_message_integrity=true`, per the sources.

## Timeline

- 2026-11-05T20:40:46+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-116790

## Documents

- [advisory] Vendor advisory: github.com https://github.com/signalwire/freeswitch/security/advisories/GHSA-rc25-33hp-6mv2
- [fix] Patch: github.com https://github.com/signalwire/freeswitch/commit/68ec688eb601767a28854e804a0e4df5872f5bc7
- [fix] Release notes: github.com https://github.com/signalwire/freeswitch/releases/tag/v1.11.2

## From the sources

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, FreeSWITCH's inbound ICE handling accepted every connectivity check without cryptographically validating its STUN MESSAGE-INTEGRITY attribute. A network peer able to reach an ICE-enabled leg's media port could forge an ICE connectivity check without SDP credentials, nominate its own address, redirect RTP and DTLS traffic, and terminate the legitimate media path. On unencrypted legs this enables eavesdropping and media injection, while all WebRTC and SIP legs that negotiate ICE are in scope. Version 1.11.2 introduces the remediation, which requires ice_verify_message_integrity=true.

---

_Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai_
