{"id":"CVE-2026-116569","kind":"vulnerability","aliases":["CVE-2026-116569"],"related":[],"title":"FreeSWITCH: crafted MSRP message corrupts memory and 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, msrp_parse_buffer() subtracted delimiter framing from a peer-controlled short segment whose MSRP byte range ended in * without first proving the segment was long enough. The unsigned result wrapped near SIZE_MAX and reached switch_msrp_msg_set_payload() as both an allocation size and memcpy length, while related pointer arithmetic could read before the receive buffer. The listener is disabled by default in msrp.conf.xml, but any deployment enabling an MSRP TCP or TLS port parses this framing before authentication. An unauthenticated network peer can corrupt memory and crash FreeSWITCH, dropping all active calls, although remote code execution has not been demonstrated. This issue is fixed in version 1.11.2.","summary":"A short malformed MSRP message makes FreeSWITCH compute a wrapped length and read or write memory outside its buffers before authentication. An unauthenticated network peer can crash the switch and drop all active calls, though code execution has not been demonstrated.","severity":"high","cvss":7.5,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["freeswitch","runtime","telephony","voip"],"not_affected_if":["default-config","msrp-disabled"],"how_to_check":"- Check the FreeSWITCH version with `freeswitch -version` and compare it with the fixed release below.\n- Check whether the MSRP listener is enabled in `msrp.conf.xml` (disabled by default); look for an MSRP TCP or TLS port being bound.","fix":"- FreeSWITCH: upgrade to `1.11.2`.","status":"open","published_at":"2026-11-05T20:17:44+00:00","first_seen_at":"2026-11-05T20:40:44+00:00","triaged_at":"2026-11-05T20:43:06+00:00","updated_at":"2026-11-05T20:43:06+00:00","category":"runtime","confidence":0.8,"triage":{"at":"2026-11-05T20:43:06Z","model":"claude-haiku-5-5","output":{"fix":"- FreeSWITCH: upgrade to `1.11.2`.","reach":"network","title":"FreeSWITCH: crafted MSRP message corrupts memory and crashes telephony switch","impact":"high","summary":"A short malformed MSRP message makes FreeSWITCH compute a wrapped length and read or write memory outside its buffers before authentication. An unauthenticated network peer can crash the switch and drop all active calls, though code execution has not been demonstrated.","audience":"businesses","category":"runtime","nicknames":[],"who_cares":["freeswitch","telephony","voip"],"confidence":0.8,"fix_status":"available","needs_auth":"no","worst_case":"unauthenticated peer crashes switch, dropping all active calls","analyst_note":"","how_to_check":"- Check the FreeSWITCH version with `freeswitch -version` and compare it with the fixed release below.\n- Check whether the MSRP listener is enabled in `msrp.conf.xml` (disabled by default); look for an MSRP TCP or TLS port being bound.","plain_action":"","needs_analyst":false,"not_affected_if":["default-config","msrp-disabled"],"who_is_affected":"Only deployments that enable the MSRP TCP or TLS listener are exposed, because it is disabled by default in msrp.conf.xml. Any deployment that has turned that listener on is reachable by unauthenticated network peers before any login. Deployments with MSRP off can skip it.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"high"},"cost_usd":0.000721,"input_tokens":4488,"output_tokens":545,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-116569':13A,16A '-2026':12A,15A '1.11.2':89C,200C 'activ':53B,184C 'alloc':134C 'although':186C 'arithmet':142C 'authent':41B,171C 'buffer':39B,92C,148C 'byte':105C 'call':54B,185C 'code':56B,188C 'commod':85C 'comput':28B 'control':100C 'corrupt':5A,177C 'could':143C 'craft':2A 'crash':8A,47B,180C 'cve':11A,14A 'default':154C 'defin':66C 'delimit':94C 'demonstr':61B,193C 'deploy':159C 'digit':71C 'disabl':152C 'drop':51B,182C 'enabl':69C,160C 'end':107C 'enough':116C 'execut':57B,189C 'first':110C 'fix':197C 'frame':95C,169C 'freeswitch':1A,17B,27B,62C,181C 'hardwar':86C 'implement':80C 'issu':195C 'length':31B,138C 'listen':150C 'long':115C 'make':26B 'malform':23B 'max':123C 'memcpi':137C 'memori':6A,36B,178C 'messag':4A,25B 'msg':128C 'msrp':3A,24B,90C,104C,127C,162C 'msrp.conf.xml':156C 'near':121C 'network':44B,174C 'outsid':37B 'pars':91C,167C 'payload':130C 'peer':45B,99C,175C 'peer-control':98C 'pointer':141C 'port':166C 'prior':87C 'proprietari':74C 'prove':111C 'rang':106C 'reach':125C 'read':33B,144C 'receiv':147C 'relat':140C 'remot':187C 'result':119C 'run':82C 'runtim':18B 'segment':102C,113C 'set':129C 'short':22B,101C 'size':122C,135C 'softwar':65C,79C 'stack':68C 'subtract':93C 'switch':10A,49B,76C,126C 'tcp':163C 'telecom':67C,75C 'telephoni':9A,19B 'though':55B 'tls':165C 'transform':72C 'unauthent':43B,173C 'unsign':118C 'version':199C 'voip':20B 'whose':103C 'without':109C 'wrap':30B,120C 'write':35B","nicknames":[],"mitigations":[],"who_affected":"Only deployments that enable the MSRP TCP or TLS listener are exposed, because it is disabled by default in msrp.conf.xml. Any deployment that has turned that listener on is reachable by unauthenticated network peers before any login. Deployments with MSRP off can skip it.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["freeswitch","high","runtime","telephony","voip"],"campaign_type":null,"first_public_at":"2026-10-26T21:11:49+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-116569","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-116569","severity":null,"published_at":"2026-11-05T20:17:44+00:00","modified_at":"2026-11-05T20:17:44+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":79846,"url":"https://github.com/signalwire/freeswitch/commit/349f55ff546ab365f026eb254965af98232f81a9","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":79848,"url":"https://github.com/signalwire/freeswitch/security/advisories/GHSA-m8xv-crhj-3rf7","title":"Vendor advisory: github.com","kind":"vendor","source":"nvd","publisher":"vendor","text":null,"published_at":"2026-10-26T21:11:49+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"}