<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>SIPSorcery - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/sipsorcery/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Wed, 12 Aug 2026 22:48:41 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/sipsorcery/feed.xml" rel="self" type="application/rss+xml"/><image><url>https://feed.craftedsignal.io/favicon-32x32.png</url><title>CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/</link><width>32</width><height>32</height></image><webfeeds:icon>https://feed.craftedsignal.io/favicon.svg</webfeeds:icon><item><title>SIPSorcery Denial of Service via SCTP SACK Chunk OOB Read</title><link>https://feed.craftedsignal.io/briefs/2026-08-sipsorcery-dos/</link><pubDate>Wed, 12 Aug 2026 22:48:41 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-08-sipsorcery-dos/</guid><description>The SIPSorcery library is vulnerable to a denial of service via a crafted SCTP SACK chunk that causes an out-of-bounds read and subsequent termination of the SCTP receive thread.</description><content:encoded><![CDATA[<p>SIPSorcery versions 10.0.13 and earlier are susceptible to a permanent denial of service condition in the SCTP stack. The <code>SctpSackChunk.ParseChunk</code> method reads the <code>numGapAckBlocks</code> and <code>numDuplicateTSNs</code> counts directly from an attacker-controlled SCTP SACK chunk without validating these values against the actual length of the receive buffer.</p>
<p>By providing specifically crafted values, an attacker can force the application to perform reads past the boundary of the 262144-byte receive buffer. This operation triggers an <code>IndexOutOfRangeException</code>. Because the library handles this exception using a generic catch block that breaks the receive loop rather than a recoverable handler, the dedicated SCTP receive thread is terminated and fails to restart. This results in the immediate and permanent loss of the SCTP association and all associated WebRTC data channels.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker establishes a post-DTLS negotiated WebRTC connection with a target running a vulnerable SIPSorcery version.</li>
<li>The attacker constructs a malicious SCTP packet containing a SACK chunk (type 3).</li>
<li>The attacker sets the <code>chunkLength</code> to a valid value (e.g., 16) to pass initial <code>SctpPacket.ParseChunks</code> sanity checks.</li>
<li>The attacker sets <code>numGapAckBlocks</code> to 0xFFFF, forcing the parser into an oversized iteration loop.</li>
<li>The attacker computes a valid CRC32C checksum to bypass the network-level verification stage of the SCTP packet.</li>
<li>The SIPSorcery library reads the crafted count into the gap-ack processing loop within <code>SctpSackChunk.ParseChunk</code>.</li>
<li>The loop accesses index 262144 of the 262144-byte buffer, triggering an <code>IndexOutOfRangeException</code>.</li>
<li>The exception propagates to the generic <code>catch</code> block in <code>RTCSctpTransport.DoReceive</code>, which executes a <code>break</code> statement and permanently terminates the receive thread.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>The vulnerability results in a complete and permanent denial of service for any affected SCTP association. All data channels associated with the connection are dropped and the service cannot recover without a manual restart of the impacted thread or service, depending on implementation. This impacts all applications utilizing SIPSorcery for WebRTC transport.</p>
<h2 id="recommendation">Recommendation</h2>
<p>Detection and mitigation should focus on identifying malformed SCTP traffic or application-level thread stability.</p>
<ul>
<li>Update SIPSorcery to a patched version that implements bounds checking for <code>numGapAckBlocks</code> and <code>numDuplicateTSNs</code>.</li>
<li>Implement application-level monitoring for the termination of the <code>_receiveThread</code> in <code>RTCSctpTransport</code>.</li>
<li>If patching is not immediate, deploy network security controls to inspect and drop SCTP packets with suspicious chunk parameters if the environment supports deep packet inspection for WebRTC protocols.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category></item></channel></rss>