{"id":"CVE-2026-116790","kind":"vulnerability","aliases":["CVE-2026-116790"],"related":[],"title":"FreeSWITCH: forged ICE checks let a network peer hijack call media","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, 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.","summary":"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.","severity":"critical","cvss":9.1,"epss":null,"exploited":false,"exploited_at":null,"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"],"how_to_check":"- Check the FreeSWITCH version with `fs_cli -x version` and compare it to the fixed range.\n- Look for `ice_verify_message_integrity` in the FreeSWITCH configuration; it is not set to `true` if the fix is not applied.\n- 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.","status":"open","published_at":"2026-11-05T20:17:46+00:00","first_seen_at":"2026-11-05T20:40:46+00:00","triaged_at":"2026-11-05T20:42:51+00:00","updated_at":"2026-11-05T20:42:51+00:00","category":"runtime","confidence":0.7,"triage":{"at":"2026-11-05T20:42:51Z","model":"claude-haiku-5-5","output":{"fix":"- FreeSWITCH: move to `1.11.2` or later, and set `ice_verify_message_integrity=true`, per the sources.","reach":"network","title":"FreeSWITCH: forged ICE checks let a network peer hijack call media","impact":"high","summary":"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.","audience":"businesses","category":"runtime","nicknames":[],"who_cares":["freeswitch","webrtc","sip","voip","telecom"],"confidence":0.7,"fix_status":"available","needs_auth":"no","worst_case":"Attacker eavesdrops on and injects into call media, hijacking the media path","analyst_note":"Confirm the affected version range and whether ice_verify_message_integrity defaults to false; the sources given name only 1.11.2 as the fix and do not list the product ranges.","how_to_check":"- Check the FreeSWITCH version with `fs_cli -x version` and compare it to the fixed range.\n- Look for `ice_verify_message_integrity` in the FreeSWITCH configuration; it is not set to `true` if the fix is not applied.\n- Note whether the media port of any ICE-enabled leg is reachable from untrusted networks.","plain_action":"","needs_analyst":true,"not_affected_if":["version-1.11.2-or-later","no-ice-legs","media-ports-not-reachable"],"who_is_affected":"Systems running FreeSWITCH before 1.11.2 that handle WebRTC or SIP calls using ICE and have media ports reachable by a network peer are exposed. Deployments that do not use ICE legs, or that sit behind networks where media ports are not reachable by untrusted peers, are lower risk. The sources do not say how many deployments are reachable.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"critical"},"cost_usd":0.000822,"input_tokens":4455,"output_tokens":753,"severity_before":"critical"},"analyst_status":null,"analyst_note":null,"search":"'-116790':14A,17A '-2026':13A,16A '1.11.2':107C,186C 'abl':129C 'accept':25B,113C 'address':152C 'attack':58B 'attribut':36B,125C 'call':10A,65B 'check':4A,28B,44B,50B,116C,145C 'commod':103C 'connect':27B,115C,144C 'could':140C 'credenti':47B,148C 'cryptograph':118C 'cve':12A,15A 'defin':84C 'digit':89C 'dtls':54B,156C 'eavesdrop':59B,169C 'enabl':87C,135C,168C 'everi':114C 'forg':2A,42B,49B,141C 'freeswitch':1A,18B,24B,80C,108C 'handl':112C 'hardwar':104C 'hijack':9A 'ice':3A,26B,79B,111C,134C,143C,181C,192C 'ice-en':133C 'implement':98C 'inbound':110C 'inject':62B,172C 'integr':35B,124C,195C 'introduc':187C 'leg':76B,136C,166C,178C 'legitim':69B,161C 'let':5A,56B 'media':11A,55B,70B,138C,162C,171C 'messag':34B,123C,194C 'message-integr':33B,122C 'negoti':180C 'network':7A,39B,127C 'nomin':149C 'path':71B,163C 'peer':8A,40B,128C 'port':139C 'prior':105C 'proprietari':92C 'reach':131C 'redirect':51B,153C 'remedi':189C 'requir':191C 'rtp':52B,154C 'run':100C 'runtim':19B 'scope':184C 'sdp':46B,147C 'sip':20B,75B,177C 'softwar':83C,97C 'stack':86C 'stun':32B,121C 'switch':94C 'telecom':21B,85C,93C 'termin':67B,159C 'traffic':157C 'transform':90C 'true':196C 'unencrypt':64B,165C 'use':78B 'valid':30B,119C 'verifi':193C 'version':185C 'voip':22B 'webrtc':23B,73B,175C 'without':29B,45B,117C,146C","nicknames":[],"mitigations":[],"who_affected":"Systems running FreeSWITCH before 1.11.2 that handle WebRTC or SIP calls using ICE and have media ports reachable by a network peer are exposed. Deployments that do not use ICE legs, or that sit behind networks where media ports are not reachable by untrusted peers, are lower risk. The sources do not say how many deployments are reachable.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["critical","freeswitch","runtime","sip","telecom","voip","webrtc"],"campaign_type":null,"first_public_at":"2026-10-28T16:53:40+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H","cvss_by":"security-advisories@github.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-116790","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-116790","severity":null,"published_at":"2026-11-05T20:17:46+00:00","modified_at":"2026-11-05T20:17:46+00:00","first_seen_at":"2026-11-05T20:40:46+00:00","fetched_at":"2026-11-05T20:40:46+00:00","note":null}],"documents":[{"id":79891,"url":"https://github.com/signalwire/freeswitch/commit/68ec688eb601767a28854e804a0e4df5872f5bc7","title":"Patch: github.com","kind":"other","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":79176,"url":"https://github.com/signalwire/freeswitch/releases/tag/v1.11.2","title":"Release notes: github.com","kind":"release","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Release notes: github.com"},{"id":79893,"url":"https://github.com/signalwire/freeswitch/security/advisories/GHSA-rc25-33hp-6mv2","title":"Vendor advisory: github.com","kind":"vendor","source":"nvd","publisher":"vendor","text":null,"published_at":"2026-10-28T16:53:40+00:00","relation":"advisory","confidence":null,"note":"Vendor advisory: github.com"}],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}