---
id: CVE-2026-116781
title: >-
  FreeSWITCH: Pre-authentication out-of-bounds writes in mod_xml_rpc WebSocket
  frame parsing
summary: >-
  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, ws_read_frame() unmasked
  a WebSocket …
severity: medium
cvss: 5.3
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N'
cvssSource: cna
cwe:
  - CWE-193
  - CWE-787
vendor: signalwire
product: freeswitch
affected:
  - freeswitch < 1.11.2
published: '2026-11-05'
updated: '2026-11-05'
sourceUpdated: '2026-11-05T19:28:09.040Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-116781'
references:
  - url: >-
      https://github.com/signalwire/freeswitch/security/advisories/GHSA-4cg6-rvh2-cw74
    label: >-
      https://github.com/signalwire/freeswitch/security/advisories/GHSA-4cg6-rvh2-cw74
  - url: >-
      https://github.com/signalwire/freeswitch/commit/fb9f37b9c7869630ee52a3ae87399fbbf99ad74d
    label: >-
      https://github.com/signalwire/freeswitch/commit/fb9f37b9c7869630ee52a3ae87399fbbf99ad74d
  - url: 'https://github.com/signalwire/freeswitch/releases/tag/v1.11.2'
    label: 'https://github.com/signalwire/freeswitch/releases/tag/v1.11.2'
tags:
  - cve.org
ingestedAt: '2026-11-05T22:38:31.549Z'
---

## Overview

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, ws_read_frame() unmasked a WebSocket payload by iterating wsh->datalen, which included frame headers, while indexing from the payload pointer. A masked frame filling the 64 KiB receive buffer could therefore XOR up to 14 bytes beyond the buffer, and the exact-capacity case also wrote a terminating NUL one byte out of bounds. The flaw is reachable before authentication when mod_xml_rpc and its opt-in WebSocket endpoint are enabled, while both features are disabled in the stock configuration. The writes remain within the same connection handle's adjacent outbound buffer, so neither a process crash nor cross-session disclosure has been demonstrated. This issue is fixed in version 1.11.2.

## Affected

- `freeswitch < 1.11.2`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
