CVE Watchtower

← Back to CVE List

CVE-2026-116790NVD

Vulnerability Summary

Summary FreeSWITCH signs the STUN connectivity checks and responses it sends with the ICE password, but never verifies the MESSAGE-INTEGRITY attribute on the ones it receives: the core STUN parser only length-checks it, and the inbound ICE handling in `src/switch_rtp.c` drives the ICE state machine from the packet's attributes without recomputing or comparing the HMAC. Any STUN packet delivered to the media port of an ICE-enabled call leg is treated as authentic, with a wrong MESSAGE-INTEGRITY or none at all. RFC 8445 section 7.3 requires the short-term credential mechanism to authenticate both requests and responses. Impact ICE selects the media path entirely from Binding exchange outcomes, so a forged check decides it. A forged Binding Request re-points the leg's media destination at the sender's own address, marks the pair nominated, and can flip the controlling/controlled role: FreeSWITCH sends RTP and its DTLS handshake there instead of to the legitimate peer, ending media on the call. Where the leg negotiates no media encryption the redirected stream is plaintext, giving eavesdropping and injection. Affected configurations Any leg that negotiates ICE: WebRTC through `mod_verto` or `mod_sofia` over WS/WSS, and SIP peers that offer ICE. No non-default setting is required. Non-ICE SIP/RTP legs are out of scope, since the RTP read path only hands a datagram to the STUN parser once ICE credentials are installed on the session. Attack prerequisites Network reach to the negotiated UDP media port of an ICE-enabled leg while the call is up. Port discovery is a routine UDP scan of the configured RTP range. Because the packet is acted on without its integrity being checked, no account, no prior interaction, no position on the media path, and none of the ICE credentials carried in the SDP are required. Workarounds No in-process workaround: the ICE handler acts on any STUN-shaped datagram delivered to an ICE-enabled media socket. Operators who cannot upgrade should restrict the media port range to sources reachable only over trusted transports (firewall, SBC, private interconnect); a sender inside that perimeter is unaffected. Disabling ICE is not viable where WebRTC is served, since it requires ICE. Fix The same release adds `switch_stun_packet_verify_integrity()`, which recomputes the HMAC-SHA1 over the received packet and compares it in constant time, and calls it on the inbound ICE path before any ICE state is touched: requests keyed with the local ICE password, responses and error responses with the remote one. A packet whose MESSAGE-INTEGRITY fails or is missing is dropped, as is any unauthenticated indication. Verification is opt-in and off by default, so closing the gap means setting the `ice_verify_message_integrity` channel variable; `conf/vanilla/vars.xml` ships it as a commented example. Credit Xiangpu Song
Severity Level
CRITICAL(9.1)
Published Date
Oct 28, 2026
Last Modified
Oct 28, 2026
Exploitation Status
No confirmed exploitation yet
CVE Record Status
Reserved
This CVE ID is referenced in a public advisory, but the CVE Program has not published its official CVE Record yet. Full CVSS/CPE data from NVD will appear here once it does.
EPSS Score (30-Day)
Data Pending
Root Weakness (CWE)
Refer to the official MITRE database for detailed architectural specifications regarding this weakness.
Refer to the official MITRE database for detailed architectural specifications regarding this weakness.
CVSS v3.1 Base Metrics — Score 9.1
Attack VectorNetwork
Attack ComplexityLow
Privileges RequiredNone
User InteractionNone
ScopeUnchanged
ConfidentialityNone
IntegrityHigh
AvailabilityHigh

Affected & Patched Versions

Affected Versions
  • FreeSWITCH <= 1.11.1
Patched Versions
  • FreeSWITCH >= 1.11.2
🎁7-Day Free Trial — Try Pro or Team, no card required.
📧Email Delivery — Threat intel straight to your inbox.
♾️Unlimited Vendors — Track your entire stack.
🚨All New CVEs — Be the first to know.
📈EPSS Spike Alerts — Catch rising risk before it peaks.
🎯Custom EPSS/CVSS — Filter noise, focus on risk.
🛡️Exploit Intel — A 2nd confirmed-exploit signal beyond KEV.
🐙GitHub Issues — Auto-tracked, no duplicates.
📬Weekly Digest — One clean summary, not inbox spam.
🏷️Watchlist Groups — Tag alerts by team (Infra/AppSec/SOC).
💬Webhooks — Slack & Teams integration.
🔀Smart Routing — Critical alerts to one channel, rest to another.
🚫Ad-Free — Uninterrupted experience.
🎁7-Day Free Trial — Try Pro or Team, no card required.
📧Email Delivery — Threat intel straight to your inbox.
♾️Unlimited Vendors — Track your entire stack.
🚨All New CVEs — Be the first to know.
📈EPSS Spike Alerts — Catch rising risk before it peaks.
🎯Custom EPSS/CVSS — Filter noise, focus on risk.
🛡️Exploit Intel — A 2nd confirmed-exploit signal beyond KEV.
🐙GitHub Issues — Auto-tracked, no duplicates.
📬Weekly Digest — One clean summary, not inbox spam.
🏷️Watchlist Groups — Tag alerts by team (Infra/AppSec/SOC).
💬Webhooks — Slack & Teams integration.
🔀Smart Routing — Critical alerts to one channel, rest to another.
🚫Ad-Free — Uninterrupted experience.