{"id":"CVE-2026-115928","kind":"vulnerability","aliases":["CVE-2026-115928"],"related":[],"title":"FreeSWITCH: crafted SDP crypto attribute overflows stack, crashes telephony switch","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, switch_core_media_add_crypto() passed the encoded key and salt length from an inbound SDP a=crypto attribute to switch_b64_decode() as the destination capacity. A zero-length key and salt made that capacity underflow, allowing the decoded attribute to overflow a fixed stack buffer with sender-chosen bytes before the call was answered. On the shipped external profile, an unauthenticated caller can reach the SDES-SRTP parser, while profiles that challenge inbound calls remain affected for senders who can authenticate; setting rtp_secure_media_inbound to false removes the path, and WebRTC DTLS-SRTP legs are unaffected. The overflow corrupts memory and can crash the FreeSWITCH process, dropping every active call, although remote code execution has not been demonstrated. This issue is fixed in version 1.11.2.","summary":"FreeSWITCH before 1.11.2 mishandles the length of an SDP a=crypto key and salt, so a zero-length value underflows a buffer and overflows a fixed stack buffer during call setup. An attacker can crash the process and drop every active call; remote code execution has not been demonstrated.","severity":"high","cvss":7.5,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["freeswitch","runtime","self-hosted","telephony","voip"],"not_affected_if":["rtp-secure-media-disabled","version-1.11.2-or-later","webrtc-only"],"how_to_check":"- Check the FreeSWITCH version with `fs_cli -x version` or the installed package version.\n- Check whether `rtp_secure_media_inbound` is enabled in the external profile configuration.\n- Check whether the external profile accepts inbound calls from unauthenticated senders.","fix":"- FreeSWITCH: upgrade to `1.11.2`.\n- Alternative setting per the advisory: set `rtp_secure_media_inbound` to `false`, which removes the affected path (WebRTC DTLS-SRTP legs are unaffected).","status":"open","published_at":"2026-11-05T20:17:43+00:00","first_seen_at":"2026-11-05T20:40:44+00:00","triaged_at":"2026-11-05T20:43:09+00:00","updated_at":"2026-11-05T20:43:09+00:00","category":"runtime","confidence":0.8,"triage":{"at":"2026-11-05T20:43:09Z","model":"claude-haiku-5-5","output":{"fix":"- FreeSWITCH: upgrade to `1.11.2`.\n- Alternative setting per the advisory: set `rtp_secure_media_inbound` to `false`, which removes the affected path (WebRTC DTLS-SRTP legs are unaffected).","reach":"internet","title":"FreeSWITCH: crafted SDP crypto attribute overflows stack, crashes telephony switch","impact":"medium","summary":"FreeSWITCH before 1.11.2 mishandles the length of an SDP a=crypto key and salt, so a zero-length value underflows a buffer and overflows a fixed stack buffer during call setup. An attacker can crash the process and drop every active call; remote code execution has not been demonstrated.","audience":"businesses","category":"runtime","nicknames":[],"who_cares":["freeswitch","telephony","voip","self-hosted"],"confidence":0.8,"fix_status":"available","needs_auth":"no","worst_case":"Process crashes, dropping all active calls; code execution not shown","analyst_note":"Confirm the exact affected version range and whether the NVD CVSS 7.5 score matches the advisory; check the linked release notes for the 1.11.2 fix.","how_to_check":"- Check the FreeSWITCH version with `fs_cli -x version` or the installed package version.\n- Check whether `rtp_secure_media_inbound` is enabled in the external profile configuration.\n- Check whether the external profile accepts inbound calls from unauthenticated senders.","plain_action":"","needs_analyst":true,"not_affected_if":["rtp-secure-media-disabled","webrtc-only","version-1.11.2-or-later"],"who_is_affected":"Operators running FreeSWITCH before 1.11.2 that accept SDES-SRTP calls. On the shipped external profile an unauthenticated caller can reach the vulnerable parser; profiles that challenge inbound calls remain affected for senders who can authenticate. Deployments with `rtp_secure_media_inbound` set to false and WebRTC-only media are not on this path.","user_interaction":"no","needs_special_setup":"no","severity_if_unknown":"unknown"},"cost_usd":0.000827,"input_tokens":4524,"output_tokens":749,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-115928':13A,16A '-2026':12A,15A '1.11.2':26B,101C,234C 'activ':65B,218C 'add':105C 'affect':182C 'allow':140C 'although':220C 'answer':159C 'attack':57B 'attribut':5A,120C,143C 'authent':187C 'b64':123C 'buffer':46B,52B,149C 'byte':154C 'call':54B,66B,157C,180C,219C 'caller':167C 'capac':128C,138C 'challeng':178C 'chosen':153C 'code':68B,222C 'commod':97C 'core':103C 'corrupt':208C 'craft':2A 'crash':8A,59B,212C 'crypto':4A,34B,106C,119C 'cve':11A,14A 'decod':124C,142C 'defin':78C 'demonstr':73B,227C 'destin':127C 'digit':83C 'drop':63B,216C 'dtls':201C 'dtls-srtp':200C 'enabl':81C 'encod':109C 'everi':64B,217C 'execut':69B,223C 'extern':163C 'fals':194C 'fix':50B,147C,231C 'freeswitch':1A,17B,24B,74C,214C 'hardwar':98C 'host':21B 'implement':92C 'inbound':116C,179C,192C 'issu':229C 'key':35B,110C,133C 'leg':203C 'length':29B,42B,113C,132C 'made':136C 'media':104C,191C 'memori':209C 'mishandl':27B 'overflow':6A,48B,145C,207C 'parser':174C 'pass':107C 'path':197C 'prior':99C 'process':61B,215C 'profil':164C,176C 'proprietari':86C 'reach':169C 'remain':181C 'remot':67B,221C 'remov':195C 'rtp':189C 'run':94C 'runtim':18B 'salt':37B,112C,135C 'sdes':172C 'sdes-srtp':171C 'sdp':3A,32B,117C 'secur':190C 'self':20B 'self-host':19B 'sender':152C,184C 'sender-chosen':151C 'set':188C 'setup':55B 'ship':162C 'softwar':77C,91C 'srtp':173C,202C 'stack':7A,51B,80C,148C 'switch':10A,88C,102C,122C 'telecom':79C,87C 'telephoni':9A,22B 'transform':84C 'unaffect':205C 'unauthent':166C 'underflow':44B,139C 'valu':43B 'version':233C 'voip':23B 'webrtc':199C 'zero':41B,131C 'zero-length':40B,130C","nicknames":[],"mitigations":[],"who_affected":"Operators running FreeSWITCH before 1.11.2 that accept SDES-SRTP calls. On the shipped external profile an unauthenticated caller can reach the vulnerable parser; profiles that challenge inbound calls remain affected for senders who can authenticate. Deployments with `rtp_secure_media_inbound` set to false and WebRTC-only media are not on this path.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["freeswitch","high","runtime","selfhosted","telephony","voip"],"campaign_type":null,"first_public_at":"2026-10-26T21:12:02+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","cvss_by":"security-advisories@github.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-115928","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-115928","severity":null,"published_at":"2026-11-05T20:17:43+00:00","modified_at":"2026-11-05T20:17:43+00:00","first_seen_at":"2026-11-05T20:40:44+00:00","fetched_at":"2026-11-05T20:40:44+00:00","note":null}],"documents":[{"id":79837,"url":"https://github.com/signalwire/freeswitch/commit/86b10358e2a191e2daff33d97c32757d43c8f92f","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":79839,"url":"https://github.com/signalwire/freeswitch/security/advisories/GHSA-fvjx-g9x8-3xqh","title":"Vendor advisory: github.com","kind":"vendor","source":"nvd","publisher":"vendor","text":null,"published_at":"2026-10-26T21:12:02+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"}