Bug 13852 - [CVE 21] grpc 1.30.2 CVEs found
Summary: [CVE 21] grpc 1.30.2 CVEs found
Status: RESOLVED WONTFIX
Alias: None
Product: ROSA Fresh
Classification: ROSA-based products
Component: System (kernel, glibc, systemd, bash, PAM...) (show other bugs)
Version: All
Hardware: All Linux
: Highest critical
Target Milestone: ---
Assignee: ROSA Linux Bugs
URL: CVE-2023-32732, CVE-2023-33953, CVE-2...
Whiteboard:
: 13527 13720 (view as bug list)
Depends on:
Blocks:
 
Reported: 2023-10-18 20:25 MSK by Yury
Modified: 2023-10-31 16:50 MSK (History)
5 users (show)

See Also:
Platform: 2021.1
ROSA Vulnerability identifier:
RPM Package:
Upstream:
y.tumanov: secteam_verified+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Yury 2023-10-18 20:25:59 MSK
Please patch CVEs for package grpc version 1.30.2
  
INFO (CVEs are): grpc 1.30.2
 cves found
CVE-2023-32732
Desc: gRPC contains a vulnerability whereby a client can cause a termination of connection between a HTTP2 proxy and a gRPC server: a base64 encoding error for `-bin` suffixed headers will result in a disconnection by the gRPC server, but is typically allowed by HTTP2 proxies. We recommend upgrading beyond the commit in  https://github.com/grpc/grpc/pull/32309 https://www.google.com/url 

Link: https://nvd.nist.gov/vuln/detail/CVE-2023-32732
Severity: MEDIUM
CVE-2023-33953
Desc: gRPC contains a vulnerability that allows hpack table accounting errors could lead to unwanted disconnects between clients and servers in exceptional cases/ Three vectors were found that allow the following DOS attacks:

- Unbounded memory buffering in the HPACK parser
- Unbounded CPU consumption in the HPACK parser

The unbounded CPU consumption is down to a copy that occurred per-input-block in the parser, and because that could be unbounded due to the memory copy bug we end up with an O(n^2) parsing loop, with n selected by the client.

The unbounded memory buffering bugs:

- The header size limit check was behind the string reading code, so we needed to first buffer up to a 4 gigabyte string before rejecting it as longer than 8 or 16kb.
- HPACK varints have an encoding quirk whereby an infinite number of 0’s can be added at the start of an integer. gRPC’s hpack parser needed to read all of them before concluding a parse.
- gRPC’s metadata overflow check was performed per frame, so that the following sequence of frames could cause infinite buffering: HEADERS: containing a: 1 CONTINUATION: containing a: 2 CONTINUATION: containing a: 3 etc…
Link: https://nvd.nist.gov/vuln/detail/CVE-2023-33953
Severity: HIGH
CVE-2023-4785
Desc: Lack of error handling in the TCP server in Google's gRPC starting version 1.23 on posix-compatible platforms (ex. Linux) allows an attacker to cause a denial of service by initiating a significant number of connections with the server. Note that gRPC C++ Python, and Ruby are affected, but gRPC Java, and Go are NOT affected. 
Link: https://nvd.nist.gov/vuln/detail/CVE-2023-4785
Severity: HIGH
CVE-2023-44487
Desc: The HTTP/2 protocol allows a denial of service (server resource consumption) because request cancellation can reset many streams quickly, as exploited in the wild in August through October 2023.
Link: https://nvd.nist.gov/vuln/detail/CVE-2023-44487
Severity: HIGH
Comment 1 Vladimir Potapov 2023-10-20 13:09:15 MSK
*** Bug 13720 has been marked as a duplicate of this bug. ***
Comment 2 Vladimir Potapov 2023-10-20 13:09:29 MSK
*** Bug 13527 has been marked as a duplicate of this bug. ***
Comment 3 Aleksandr Proklov 2023-10-30 09:15:55 MSK
CVE-2023-32732 не накладывается, нет кода
CVE-2023-33953 это на java пакет какой-то чтоли, патча нету.
CVE-2023-44487 - это вобще месиво, нереально закрыть в этой версии
https://github.com/grpc/grpc/pull/34763

CVE-2023-4785 - на нашу версию не бэкпортируется, нет такого кода
Comment 4 Yury 2023-10-31 16:50:18 MSK
secteam_verified