CVE-2026-35469: SpdyStream: DOS on CRI
(updated )
The SPDY/3 frame parser in spdystream does not validate attacker-controlled counts and lengths before allocating memory. A remote peer that can send SPDY frames to a service using spdystream can cause the process to allocate gigabytes of memory with a small number of malformed control frames, leading to an out-of-memory crash.
Three allocation paths in the receive side are affected:
SETTINGS entry count – The SETTINGS frame reader reads a 32-bit
numSettingsfrom the payload and allocates a slice of that size without checking it against the declared frame length. An attacker can setnumSettingsto a value far exceeding the actual payload, triggering a large allocation before any setting data is read.Header count –
parseHeaderValueBlockreads a 32-bitnumHeadersfrom the decompressed header block and allocates anhttp.Headermap of that size with no upper bound.Header field size – Individual header name and value lengths are read as 32-bit integers and used directly as allocation sizes with no validation.
Because SPDY header blocks are zlib-compressed, a small on-the-wire payload can decompress into attacker-controlled bytes that the parser interprets as 32-bit counts and lengths. A single crafted frame is enough to exhaust process memory.
References
Code Behaviors & Features
Detect and mitigate CVE-2026-35469 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →