Skip to content

Commit 1b7ad85

Browse files
jasnowpostmodern
authored andcommitted
GHSA SYNC: 1 brand new advisory
1 parent a3b9e12 commit 1b7ad85

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed

gems/grpc/CVE-2023-33953.yml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
---
2+
gem: grpc
3+
cve: 2023-33953
4+
ghsa: 496j-2rq6-j6cc
5+
url: https://github.com/advisories/GHSA-496j-2rq6-j6cc
6+
title: Excessive Iteration in gRPC
7+
date: 2023-08-09
8+
description: |
9+
gRPC contains a vulnerability that allows hpack table accounting
10+
errors could lead to unwanted disconnects between clients and
11+
servers in exceptional cases/ Three vectors were found that allow
12+
the following DOS attacks:
13+
14+
- Unbounded memory buffering in the HPACK parser
15+
- Unbounded CPU consumption in the HPACK parser
16+
17+
The unbounded CPU consumption is down to a copy that occurred
18+
per-input-block in the parser, and because that could be unbounded
19+
due to the memory copy bug we end up with an O(n^2) parsing loop,
20+
with n selected by the client.
21+
22+
The unbounded memory buffering bugs:
23+
24+
- The header size limit check was behind the string reading code,
25+
so we needed to first buffer up to a 4 gigabyte string before
26+
rejecting it as longer than 8 or 16kb.
27+
28+
- HPACK varints have an encoding quirk whereby an infinite number
29+
of 0’s can be added at the start of an integer. gRPC’s hpack
30+
parser needed to read all of them before concluding a parse.
31+
32+
- gRPC’s metadata overflow check was performed per frame, so that
33+
the following sequence of frames could cause infinite buffering:
34+
HEADERS: containing a: 1 CONTINUATION: containing a: 2 CONTINUATION:
35+
containing a: 3 etc…
36+
cvss_v3: 7.5
37+
patched_versions:
38+
- "~> 1.53.2"
39+
- "~> 1.54.3"
40+
- "~> 1.55.2"
41+
- ">= 1.56.2"
42+
related:
43+
url:
44+
- https://nvd.nist.gov/vuln/detail/CVE-2023-33953
45+
- https://cloud.google.com/support/bulletins#gcp-2023-022
46+
- https://security.snyk.io/vuln/SNYK-RUBY-GRPC-5834442
47+
- https://github.com/advisories/GHSA-496j-2rq6-j6cc

0 commit comments

Comments
 (0)