Skip to content

Commit e921471

Browse files
akhila-gurujuAkarshHCLSumitJenaHCL
authored andcommitted
[CRITICAL] Patch etcd for CVE-2026-39821 (#17529)
Co-authored-by: AkarshHCL <v-akarshc@microsoft.com> Co-authored-by: Sumit Jena <v-sumitjena@microsoft.com> (cherry picked from commit a4f5fae)
1 parent c002a4d commit e921471

3 files changed

Lines changed: 30122 additions & 0 deletions

File tree

SPECS/etcd/CVE-2026-33814.patch

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
From 7e9e82f8c3033974b16d93835521f6e133a7c9aa Mon Sep 17 00:00:00 2001
2+
From: AllSpark <allspark@microsoft.com>
3+
Date: Thu, 14 May 2026 09:00:37 +0000
4+
Subject: [PATCH] http2: prevent hanging Transport due to bad SETTINGS frame
5+
6+
This CL backports https://go.dev/cl/761581 to x/net.
7+
8+
Fixes golang/go#78476
9+
Fixes CVE-2026-33814
10+
11+
Upstream-reference: https://github.com/golang/net/commit/1e71bd86e4a302b4e731bc06da6eb51679c7bd49.patch
12+
---
13+
vendor/golang.org/x/net/http2/transport.go | 6 +++---
14+
1 file changed, 3 insertions(+), 3 deletions(-)
15+
16+
diff --git a/vendor/golang.org/x/net/http2/transport.go b/vendor/golang.org/x/net/http2/transport.go
17+
index 8cf64b7..3b514a3 100644
18+
--- a/vendor/golang.org/x/net/http2/transport.go
19+
+++ b/vendor/golang.org/x/net/http2/transport.go
20+
@@ -2865,6 +2865,9 @@ func (rl *clientConnReadLoop) processSettingsNoWrite(f *SettingsFrame) error {
21+
22+
var seenMaxConcurrentStreams bool
23+
err := f.ForeachSetting(func(s Setting) error {
24+
+ if err := s.Valid(); err != nil {
25+
+ return err
26+
+ }
27+
switch s.ID {
28+
case SettingMaxFrameSize:
29+
cc.maxFrameSize = s.Val
30+
@@ -2896,9 +2899,6 @@ func (rl *clientConnReadLoop) processSettingsNoWrite(f *SettingsFrame) error {
31+
cc.henc.SetMaxDynamicTableSize(s.Val)
32+
cc.peerMaxHeaderTableSize = s.Val
33+
case SettingEnableConnectProtocol:
34+
- if err := s.Valid(); err != nil {
35+
- return err
36+
- }
37+
// If the peer wants to send us SETTINGS_ENABLE_CONNECT_PROTOCOL,
38+
// we require that it do so in the first SETTINGS frame.
39+
//
40+
--
41+
2.45.4
42+

0 commit comments

Comments
 (0)