Summary
SIPSorcery: Malformed UDP packet on the RTP/ICE socket can remotely terminate a media session (DoS)
Affected versions
NuGet package SIPSorcery <= 10.0.8.
Root cause
Two issues combine:
Unchecked indexing of untrusted bytes.
RTPChannel.OnRTPPacketReceivedreadpacket[1]after only checking the packet was non-empty, so a 1-byte packet threwIndexOutOfRangeException.STUNAttribute.ParseMessageAttributespassed anull/short value to the typed attribute parsers, andSTUNXORAddressAttribute(and the non-XORSTUNAddressAttribute) then readattributeValue[1],AsSpan(2)andAsSpan(4)with no length check. A STUN message carrying anXOR-MAPPED-ADDRESS,XOR-PEER-ADDRESSorXOR-RELAYED-ADDRESSattribute of length 0–7 threw (NullReferenceExceptionfor length 0,IndexOutOfRangeException/ArgumentOutOfRangeExceptionfor 1–7).
The UDP receive loop closed the channel on any exception. The catch-all in
UdpReceiver.EndReceiveFromcalledClose(), tearing down the channel, instead of dropping the offending packet and continuing. This was systemic: any unhandled exception anywhere in the packet pipeline (STUN, RTP, RTCP, DTLS demux, SRTP, TURN) became a channel teardown.
Fix
UdpReceiver.EndReceiveFrom: a non-socket exception now logs and drops the single packet and re-arms the receive loop (matching the existingSIPUDPChannelbehaviour), instead of closing the channel. Genuine socket failures continue to be handled separately.RTPChannel.OnRTPPacketReceived: requires a minimum packet length (RTPHeader.MIN_HEADER_LEN) before indexing the discriminator bytes.- STUN parsing:
ParseMessageAttributesvalidates each attribute value length and skips malformed/truncated attributes; the XOR/address attribute constructors validate length defensively;ParseSTUNMessageno longer dereferences a null attribute list.
Regression tests were added covering the 1-byte packet (channel stays open and remains usable), short/zero-length XOR address attributes (0–7 bytes), and truncated STUN messages.
Workarounds
None within the library short of upgrading. Restricting the RTP/ICE port to known peers at the network layer reduces exposure but does not eliminate it, since a negotiating peer can still trigger the condition.
Credit
Responsibly reported by Lokhesh Ujhoodha.
Impact
A single malformed inbound UDP packet on the RTP/ICE socket can remotely terminate an active RTP or WebRTC media session. The packet receive handler indexes packet (and STUN attribute) bytes without sufficient length checks and throws, and the UDP receive loop converted any such exception into a channel Close rather than dropping the packet. One small, unauthenticated packet therefore ends the media session.
This is reachable during ICE connectivity checks, before the DTLS handshake and before any STUN MESSAGE-INTEGRITY verification. Because the RTP/ICE port is shared/advertised in the ICE candidates, a peer or on-path attacker can reach it (exposure is lower for a blind off-path attacker that must first learn the ephemeral port). Impact is availability only, no loss of confidentiality or integrity.
The application does not adequately validate input before processing it, allowing unexpected values to reach sensitive code paths. Typical impact: varies by context: data corruption, logic bypass, or denial of service.
CVE-2026-54632 has a CVSS score of 7.5 (High). The vector is network-reachable, no privileges required, and no user interaction. A CVSS score reflects the worst-case severity of the vulnerability, not your specific exposure. Whether this affects your application depends on whether the vulnerable code is present and reachable in your environment. A fixed version is available (10.0.9); upgrading removes the vulnerable code path.
Affected versions
Security releases
Kodem intelligence
Severity tells you how bad this could be in the worst case. It does not tell you whether you are exposed. Exploitability and impact are functions of runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A vulnerable package can sit in your dependency tree and never run.
Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter. Kodem's runtime-powered SCA identifies whether this CVE is reachable in your applications.
Already deployed Kodem?
See it in your environmentNew to Kodem? Get a demo →Remediation advice
Fixed in 10.0.9.
Frequently Asked Questions
- What is CVE-2026-54632? CVE-2026-54632 is a high-severity improper input validation vulnerability in SIPSorcery (nuget), affecting versions <= 10.0.8. It is fixed in 10.0.9. The application does not adequately validate input before processing it, allowing unexpected values to reach sensitive code paths.
- How severe is CVE-2026-54632? CVE-2026-54632 has a CVSS score of 7.5 (High). This score reflects the worst-case severity of the vulnerability, not your specific exposure. Whether it represents real risk in your environment depends on whether the vulnerable code is present and reachable.
- Which versions of SIPSorcery are affected by CVE-2026-54632? SIPSorcery (nuget) versions <= 10.0.8 is affected.
- Is there a fix for CVE-2026-54632? Yes. CVE-2026-54632 is fixed in 10.0.9. Upgrade to this version or later.
- Is CVE-2026-54632 exploitable, and should I be worried? Whether CVE-2026-54632 is exploitable in your environment depends on whether the vulnerable code is present and reachable. A CVSS score is a worst-case rating; it does not account for your specific deployment, configuration, or usage patterns. Kodem, an Intelligent Application Security platform, uses runtime intelligence to show which vulnerabilities actually execute in production, so you can focus on the ones that represent real risk. Get a demo
- What actually determines whether CVE-2026-54632 is exploitable, and how bad it is? Exploitability and impact are not fixed properties of a CVE. They depend on runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A high CVSS score on a dependency that never runs is not the same as real risk. Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter.
- How do I fix CVE-2026-54632? Upgrade
SIPSorceryto 10.0.9 or later.