Sceawere
Vulnerability Detail
CVE-2026-55663UPDATED Verified Sceawere Triage Sources: NVD / CISA KEV
mediasoup Insecure SCTP Cookie Authentication
Vulnerability Metadata
- Severity
- Medium
- Score / CVSS
- 5.6
- Creation Date
- 1d ago
- Vendor
- versatica
- Product
- mediasoup
- Attack Type
- CWE-345: Insufficient Verification of Data Authenticity
- Vector String
- CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L
- Attack Complexity
- HIGH
Narrative and Response
Description
mediasoup is a WebRTC video conferencing system. From version 3.20.0 until 3.20.6 for the npm package and from 0.22.0 until 0.22.5 for the Rust crate, mediasoup's built-in SCTP stack authenticates state cookies using only the hardcoded msworker and 0xAD81 magic values instead of a per-instance secret and HMAC, contrary to RFC 9260 Section 5.1.3. The cookie structure and validation in worker/include/RTC/SCTP/association/StateCookie.hpp and worker/src/RTC/SCTP/association/StateCookie.cpp allow an on-path attacker targeting PlainTransport or PipeTransport with SCTP enabled and without DTLS protection to forge a COOKIE-ECHO whose packet verification tag matches the attacker-controlled localVerificationTag. The forged cookie passes StateCookie::IsMediasoupStateCookie() and Association::HandleReceivedCookieEchoChunk(), establishes an unauthorized SCTP association, and permits DataChannel message injection as a trusted peer. WebRtcTransport is not affected because its SCTP runs inside DTLS. This issue is fixed in npm version 3.20.6 and Rust crate version 0.22.5.
Executive Summary
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Technical Details
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Mitigations
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
References
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Additional Metadata
{
"score": "5.6",
"pubDate": "2026-08-25T19:16:51.060Z",
"pubdate": "2026-08-25T19:16:51.060Z",
"executiveSummary": "The mediasoup WebRTC video conferencing system contains a critical authentication flaw in its SCTP implementation, specifically affecting PlainTransport and PipeTransport configurations without DTLS protection.\nThe vulnerability originates from the use of static, hardcoded values ('msworker' and '0xAD81') for validating SCTP state cookies, violating RFC 9260 requirements for per-instance secret-based HMAC verification.\nAn on-path attacker can exploit this weakness to forge SCTP COOKIE-ECHO chunks, allowing them to bypass the handshake process and establish an unauthorized SCTP association.\nSuccessful exploitation permits the injection of malicious DataChannel messages, effectively allowing the attacker to masquerade as a trusted peer within the media session.\nAffected software includes npm versions 3.20.0 through 3.20.5 and Rust crate versions 0.22.0 through 0.22.4.\nThis vulnerability poses a significant security risk for deployments relying on non-DTLS SCTP transport, as it permits unauthorized command or data injection without requiring prior authentication or cryptographic secrets.",
"technicalDetails": "The root cause of this vulnerability is an improper implementation of the SCTP state cookie validation mechanism defined in RFC 9260 Section 5.1.3. Instead of utilizing a unique per-instance secret key combined with an HMAC to ensure the integrity and authenticity of state cookies, the mediasoup SCTP stack relies on static, hardcoded magic values: 'msworker' and '0xAD81'.\nThis flaw resides within the logic implemented in 'worker/include/RTC/SCTP/association/StateCookie.hpp' and 'worker/src/RTC/SCTP/association/StateCookie.cpp'. The validation function 'StateCookie::IsMediasoupStateCookie()' merely performs a static check against these constants rather than verifying the cryptographic signature of the cookie.\nAn attacker positioned on-path can intercept or predict the expected packet verification tag. Because the verification logic does not rely on a secret, the attacker can construct a forged COOKIE-ECHO chunk where the verification tag matches their controlled 'localVerificationTag'.\nThe attack flow proceeds as follows: 1) The attacker observes an SCTP association attempt or targets a known PlainTransport/PipeTransport endpoint. 2) The attacker crafts a malicious SCTP packet containing a forged COOKIE-ECHO chunk. 3) The target 'Association::HandleReceivedCookieEchoChunk()' method receives the packet and, due to the weak validation logic, accepts the forged cookie as legitimate. 4) The SCTP state machine transitions to an established state, granting the attacker a valid association context.\nOnce the unauthorized association is established, the attacker gains the ability to send and receive DataChannel messages as if they were a legitimate, trusted peer. This allows for arbitrary data injection into the application layer of the media session.\nThis vulnerability is restricted to environments using PlainTransport or PipeTransport with SCTP enabled but lacking DTLS protection. WebRtcTransport is inherently protected as its SCTP stack is encapsulated within a DTLS tunnel, ensuring that any cookie exchange is cryptographically bound to the session keys.\nAffected versions are npm 3.20.0 through 3.20.5 and Rust crate 0.22.0 through 0.22.4. Systems are exposed if they do not enforce DTLS, making this a critical concern for infrastructure utilizing unencrypted SCTP signaling paths."
}