SIPSorcery: Malformed UDP datagram crashes TurnServer receive loop with no restart, disabling TURN UDP relay for all clients (DoS)
SIPSorcery's TurnServer component has a vulnerability where a malformed UDP datagram with a specific STUN header byte causes an unhandled exception that terminates the UDP receive loop. This results in a denial of service by disabling the TURN UDP relay for all clients until the process is restarted. The issue affects versions from 10.0.5 up to but not including 10.0.14. The vulnerability is pre-authentication and requires no privileges to exploit.
AI Analysis
Technical Summary
The TurnServer.ReceiveUdpAsync method in SIPSorcery places its generic exception handler outside the UDP receive loop. When a single UDP datagram with a STUN header first byte in the range 0x80–0xFF is received, STUNHeader.ParseSTUNHeader throws an ApplicationException that unwinds past the loop and terminates it. Since the receive loop is started fire-and-forget with no supervision or restart, the TURN UDP relay becomes permanently unavailable for all clients until the process is restarted. This is a denial of service vulnerability affecting SIPSorcery versions >=10.0.5 and <10.0.14.
Potential Impact
An attacker can send a single malformed UDP datagram to the TURN port (default 3478) that triggers an unhandled ApplicationException, causing the UDP receive loop to exit and disabling the TURN UDP relay for all clients. This results in a denial of service affecting all clients relying on the TURN UDP relay until the server process is manually restarted. The vulnerability is exploitable without authentication and requires only network access to the TURN port.
Mitigation Recommendations
A patch is available for this vulnerability. The recommended fix is to wrap the HandleUdpDatagram call in a per-datagram try/catch block inside the receive loop to prevent exceptions from terminating the loop, and/or to add supervision and automatic restart of the receive loop. Until patched, manual process restart is required to recover from the denial of service. Check the vendor advisory or official SIPSorcery repository for the patch and update to version 10.0.14 or later.
SIPSorcery: Malformed UDP datagram crashes TurnServer receive loop with no restart, disabling TURN UDP relay for all clients (DoS)
Description
SIPSorcery's TurnServer component has a vulnerability where a malformed UDP datagram with a specific STUN header byte causes an unhandled exception that terminates the UDP receive loop. This results in a denial of service by disabling the TURN UDP relay for all clients until the process is restarted. The issue affects versions from 10.0.5 up to but not including 10.0.14. The vulnerability is pre-authentication and requires no privileges to exploit.
CVSS v3.1
Score 7.5high
Affected software
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The TurnServer.ReceiveUdpAsync method in SIPSorcery places its generic exception handler outside the UDP receive loop. When a single UDP datagram with a STUN header first byte in the range 0x80–0xFF is received, STUNHeader.ParseSTUNHeader throws an ApplicationException that unwinds past the loop and terminates it. Since the receive loop is started fire-and-forget with no supervision or restart, the TURN UDP relay becomes permanently unavailable for all clients until the process is restarted. This is a denial of service vulnerability affecting SIPSorcery versions >=10.0.5 and <10.0.14.
Potential Impact
An attacker can send a single malformed UDP datagram to the TURN port (default 3478) that triggers an unhandled ApplicationException, causing the UDP receive loop to exit and disabling the TURN UDP relay for all clients. This results in a denial of service affecting all clients relying on the TURN UDP relay until the server process is manually restarted. The vulnerability is exploitable without authentication and requires only network access to the TURN port.
Mitigation Recommendations
A patch is available for this vulnerability. The recommended fix is to wrap the HandleUdpDatagram call in a per-datagram try/catch block inside the receive loop to prevent exceptions from terminating the loop, and/or to add supervision and automatic restart of the receive loop. Until patched, manual process restart is required to recover from the denial of service. Check the vendor advisory or official SIPSorcery repository for the patch and update to version 10.0.14 or later.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- GHSA-pfvm-w89x-94jw
- Osv Schema Version
- 1.4.0
- Aliases
- []
- Ecosystems
- ["NuGet"]
- Database Specific Severity
- HIGH
- Cvss Version
- 3.1
Threat ID: 6a7cd3debf8831d53917fafb
Added to database: 08/12/2026, 20:13:18 UTC
Last enriched: 08/12/2026, 21:12:15 UTC
Last updated: 08/12/2026, 21:12:15 UTC
Views: 2
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
External Links
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.