Get a Demo

Let's Patch It!

Book a short call with one our specialists, we'll walk you through how Endor Patches work, and ask you a few questions about your environment (like your primary programming languages and repository management). We'll also send you an email right after you fill out the form, feel free to reply with any questions you have in advance!

CVE

CVE-2026-35469

SpdyStream: DOS on CRI
Back to all
CVE

CVE-2026-35469

SpdyStream: DOS on CRI

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:

  1. SETTINGS entry count -- The SETTINGS frame reader reads a 32-bit

numSettings from the payload and allocates a slice of that size

without checking it against the declared frame length. An attacker

can set numSettings to a value far exceeding the actual payload,

triggering a large allocation before any setting data is read.

 

  1. Header count -- parseHeaderValueBlock reads a 32-bit

numHeaders from the decompressed header block and allocates an

http.Header map of that size with no upper bound.

 

  1. 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.

Impact

 Any program that accepts SPDY connections using spdystream -- directly

or through a dependent library -- is affected. A remote peer that can

send SPDY frames to the service can crash the process with a single

crafted SPDY control frame, causing denial of service.

Affected versions

 github.com/moby/spdystream <= v0.5.0

Fix

 v0.5.1 addresses the receive-side allocation bugs and adds related

hardening:

 

Core fixes:

 

  • SETTINGS entry-count validation -- The SETTINGS frame reader now

checks that numSettings is consistent with the declared frame

length (numSettings <= (length-4)/8) before allocating.

 

  • Header count limit -- parseHeaderValueBlock enforces a maximum

number of headers per frame (default: 1000).

 

  • Header field size limit -- Individual header name and value

lengths are checked against a per-field size limit (default: 1 MiB)

before allocation.

 

  • Connection closure on protocol error -- The connection read loop

now closes the underlying net.Conn when it encounters an

InvalidControlFrame error, preventing further exploitation on the

same connection.

 

Additional hardening:

 

  • Write-side bounds checks -- All frame write methods now verify

that payloads fit within the 24-bit length field, preventing the

library from producing invalid frames.

 

Configurable limits:

 

  • Callers can adjust the defaults using NewConnectionWithOptions or

the lower-level spdy.NewFramerWithOptions with functional options:

WithMaxControlFramePayloadSizeWithMaxHeaderFieldSize, and

WithMaxHeaderCount.

 

Package Versions Affected

Package Version
patch Availability
No items found.

Automatically patch vulnerabilities without upgrading

Fix Without Upgrading
Detect compatible fix
Apply safe remediation
Fix with a single pull request

CVSS Version

Severity
Base Score
CVSS Version
Score Vector
C
H
U
8.7
-
4.0
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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
C
H
U
0
-
C
H
U
7.5
-
3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Related Resources

No items found.

References

https://github.com/moby/spdystream/security/advisories/GHSA-pc3f-x583-g7j2, https://nvd.nist.gov/vuln/detail/CVE-2026-35469, https://github.com/moby/spdystream/commit/ef6121f62c730110bf5ae604a865a8613bfb787f, https://github.com/moby/spdystream, https://github.com/moby/spdystream/releases/tag/v0.5.1

Severity

7.5

CVSS Score
0
10

Basic Information

Ecosystem
Base CVSS
7.5
EPSS Probability
0.00029%
EPSS Percentile
0.08775%
Introduced Version
0,v0.2.0,v0.0.0-20210127213243-bf11281a1d4c,v0.1.0,v0.0.0-20150427220445-866205ebbbb9,v0.0.0-20140605231634-4e5dd39d2b4e
Fix Available
0.5.1,v0.5.1,v0.0.0-20260329101019-cf0ec5d0fe4d,3.2.8-r5,3.6.19-r6,3.7.13-r2,3.6.19-r7,3.7.13-r6,4.0.4-r6,1.1.1-r9,8.17.10-r13,9.0.8-r15,9.1.10-r9,9.3.3-r4,8.17.10-r19,1.9.11-r12,1.7.13-r5,1.36.0-r0,7.73.3-r19,7.76.3-r14,7.77.3-r4,7.76.3-r11,4.4.0-r8,1.30.53-r2,1.31.43-r1,1.32.36-r1,1.33.26-r1,1.34.17-r1,1.35.8-r1,1.7.2-r4,0.4.0-r34,18.9.6-r3,1.18.6-r6,1.26.8-r4,1.27.9-r2,1.26.8-r11,1.27.9-r5,1.34.7-r0,1.35.4-r0,1.14.0-r8,4.0.5-r0,1.9.2-r7,5.5.1-r0,1.22.0-r13,1.15.1-r5,1.33.10.2.2-r3,1.35.3.2.3-r2,1.33.10.2.3-r2,3.1.0-r1,0.69.3-r12,0.69.3-r7,0.30.1-r6,0.30.1-r5,25.4.0.0-r12,25.4.0.0-r14

Fix Critical Vulnerabilities Instantly

Secure your app without upgrading.
Fix Without Upgrading