Summary
CVE-2026-103472 is an unauthenticated denial-of-service vulnerability in restbed, a C++ REST API framework maintained by Corvusoft, affecting all versions through 5.0.0. The flaw resides in the WebSocket implementation, which accepts frames declaring payload lengths of up to 2^63 bytes and buffers the incoming data in an unbounded stream without enforcing any size limit. A remote, unauthenticated attacker can exploit this to exhaust server memory and crash the affected process, resulting in a denial of service. The issue is rated HIGH severity (CVSS 8.7).
Technical details
- Root cause: The WebSocket frame handling code (
web_socket_impl.cpp) reads the declared payload length from the frame header but does not validate or cap it against a maximum frame size. The framework’s defaultm_max_frame_sizeconfiguration is effectively unbounded (set to zero), which disables payload validation entirely. - Trigger condition: An attacker opens a WebSocket connection to a restbed-based server and sends a frame header declaring an extremely large payload length (up to the protocol’s theoretical maximum of 2^63 bytes), then streams data — or simply holds the connection open — causing the server to allocate and buffer data without bound.
- Attack vector: Network-based, requires no authentication and no user interaction. The vulnerability is exploitable at the framework/transport level and does not require any application-specific WebSocket handler logic.
- Impact: Uncontrolled resource consumption (CWE-770) leading to heap/memory exhaustion, process crash, and denial of service. Confidentiality and integrity are not affected; only availability is impacted, but the impact is total (service outage) and trivially repeatable, including via multiple concurrent connections to exhaust worker resources faster.
Affected software
- Corvusoft restbed: all versions through and including 5.0.0
Severity
- CVSS v3.1 Base Score: 7.5 (High) —
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - CVSS v4.0 Base Score: 8.7 (High) —
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Mitigation and recommended actions
- Immediate: As of publication, no official patched restbed release addressing this issue has been confirmed. Organizations should monitor the upstream restbed repository for a fixed release and upgrade as soon as one becomes available.
- If no patch is available:
- Explicitly configure a maximum WebSocket frame size (
m_max_frame_size) on the restbedSettings/WebSocketServiceobject rather than relying on the default, since a zero/default value disables payload validation. - Deploy a reverse proxy or WebSocket-aware gateway in front of restbed-based services to enforce maximum frame sizes and total connection buffer limits before traffic reaches the application.
- Apply connection- and memory-based resource limits (e.g., per-connection memory caps, OS-level cgroup/ulimit constraints, or process supervision that restarts on excessive memory use) to reduce the impact of a successful exhaustion attempt.
- Monitor and alert on WebSocket connections with abnormally large declared payload lengths or long-lived connections with no application-level activity, and rate-limit or drop such connections.
- Restrict network exposure of restbed-based WebSocket endpoints to trusted networks where feasible until a fix is applied.
- Explicitly configure a maximum WebSocket frame size (

