---
id: "CVE-2026-116570"
kind: "vulnerability"
aliases: ["CVE-2026-116570"]
title: "FreeSWITCH: stack overflow in directory auth lets unauthenticated clients crash server"
severity: "high"
cvss: 7.5
epss: null
exploited: false
status: "open"
category: "runtime"
products: []
ecosystems: []
tags: ["freeswitch", "runtime", "self-hosted", "telephony", "voip"]
not_affected_if: ["default-config", "listener-not-exposed", "mod-xml-rpc-not-loaded", "version-1.11.2-or-later"]
published_at: "2026-11-05T20:17:44+00:00"
first_seen_at: "2026-11-05T20:40:44+00:00"
updated_at: "2026-11-05T20:43:05+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-116570", "first_seen_at": "2026-11-05T20:40:44+00:00"}]
exploit_sources: []
---

# FreeSWITCH: stack overflow in directory auth lets unauthenticated clients crash server

FreeSWITCH before 1.11.2 overflows a stack buffer in http_directory_auth() when a configured directory credential is longer than 57 characters. An unauthenticated client who names an existing directory user on an exposed mod_xml_rpc HTTP listener can crash FreeSWITCH and end all active calls; remote code execution has not been demonstrated.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check the FreeSWITCH version with `fs_cli -x 'version'` and see whether it is below `1.11.2`.
- Check whether `mod_xml_rpc` is loaded in the modules configuration (`modules.conf.xml`) and whether its HTTP listener is reachable from outside the network.
- Check directory user credentials for entries longer than 57 characters in user@domain:password form.

## Fix

- FreeSWITCH: upgrade to `1.11.2`.

## Timeline

- 2026-11-05T20:40:44+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-116570

## Documents

- [advisory] Vendor advisory: github.com https://github.com/signalwire/freeswitch/security/advisories/GHSA-294g-hq4w-c275
- [fix] Patch: github.com https://github.com/signalwire/freeswitch/commit/0246a16beb416aaaa59edbaf131d80c9d7989aea
- [fix] Release notes: github.com https://github.com/signalwire/freeswitch/releases/tag/v1.11.2

## From the sources

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, http_directory_auth() rebuilt an expected user@domain:password credential and base64-encoded it into an 80-byte buffer using an encoder without an output-length argument. A configured credential longer than 57 characters overflowed the stack before the supplied HTTP Basic password was compared. An unauthenticated client only needed to name an existing directory user on an exposed mod_xml_rpc HTTP listener; the module is built but not loaded by the stock configuration. The overflow can corrupt the stack and crash FreeSWITCH, ending every active call, although the overrun bytes come from the configured credential and remote code execution has not been demonstrated. This issue is fixed in version 1.11.2.

---

_Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai_
