Horizon Alert
Summary of the vulnerability and why it matters
This advisory details a critical vulnerability in FreeSWITCH, a software telecom stack. A flaw in how the system handles WebSocket data can lead to memory corruption, potentially crashing the service and disrupting all active connections. While remote code execution has not been proven, the service disruption is a significant concern.
- Flaw can crash telecom software.
- Disrupts all active connections.
- Confirm if this telecom software is used.
Attack Path
How an attacker could exploit the issue
An attacker could target this vulnerability by completing a WebSocket upgrade request to an enabled XML-RPC endpoint. This would allow them to send specially crafted client bytes to the `ws_read_frame()` function. The function's handling of extended payload lengths could then lead to memory corruption. While remote code execution is not demonstrated, the vulnerability can cause FreeSWITCH to crash, disrupting all active connections.
- No authentication or user interaction needed.
- Triggered by crafted WebSocket frame.
- Disrupts service, potential memory corruption.
Live Threat
Current exploitation, exposure, and threat context
When the `mod_xml_rpc` module and WebSocket endpoint are enabled, an attacker could exploit this vulnerability to overwrite memory beyond the receive buffer by completing a WebSocket upgrade. This could lead to crashes and disruption of service.
- System stability and availability.
- Memory corruption via crafted WebSocket frames.
- Service crashes and session termination.
Operational Fix
Recommended remediation, mitigation, and detection steps
Real-world ownership of this issue likely falls to the infrastructure or platform teams managing FreeSWITCH, with a strong partnership from network and security teams. The first practical step is to confirm if the `/socket` WebSocket upgrade on an enabled `mod_xml_rpc` endpoint is active, as these are disabled by default. If confirmed, identify the accountable owner and then plan remediation, prioritizing critical or exposed instances.
- Platform and infrastructure teams own the issue.
- Verify WebSocket and mod_xml_rpc endpoint status.
- Plan remediation based on confirmed exposure.