Loading...
Skip to main content

CVE-2023-33953 — Excessive Iteration in grpc — CVE Details

HIGH

Excessive Iteration in gRPC

Published August 9, 2023Updated July 7, 2026Source: osv

Summary

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…

Advisory Timeline

  • First published August 9, 2023 (1160 days ago).
  • Last revised July 7, 2026 — 1063 days after initial publication.

Remediation

Upgrade to the fixed version using your package manager.

Bundler
Update grpc to 1.55.2 or later
gem install grpc -v 1.55.2
Bundler
Update grpc to 1.54.3 or later
gem install grpc -v 1.54.3
pip
Update grpcio to 1.53.2 or later
pip install "grpcio>=1.53.2"
pip
Update grpcio to 1.55.2 or later
pip install "grpcio>=1.55.2"
pip
Update grpcio to 1.56.2 or later
pip install "grpcio>=1.56.2"
Bundler
Update grpc to 1.56.2 or later
gem install grpc -v 1.56.2
Bundler
Update grpc to 1.53.2 or later
gem install grpc -v 1.53.2
pip
Update grpcio to 1.54.3 or later
pip install "grpcio>=1.54.3"

After upgrading, run your dependency scanner again to confirm the vulnerability is resolved.

Affected Packages (8)

Affects 2 ecosystems: pypi (1), rubygems (1).

PackageEcosystemAffectedFixed In
grpc
rubygems
1.55.01.55.2
grpc
rubygems
1.54.0, 1.54.21.54.3
grpcio
pypi
0.10.0a0, 0.11.0b0, 0.11.0b1, 0.12.0b0 (+181 more)1.53.2
grpcio
pypi
1.55.01.55.2
grpcio
pypi
1.56.01.56.2
grpc
rubygems
1.56.01.56.2
grpc
rubygems
0.10.0, 0.11.0, 0.12.0, 0.13.0 (+139 more)1.53.2
grpcio
pypi
1.54.0, 1.54.21.54.3

Vulnerability Classification

Common Weakness Enumeration (CWE) identifiers for this vulnerability type.

CVSS Score Breakdown

What the CVSS (Common Vulnerability Scoring System) 7.5 score means for each attack dimension.

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Frequently Asked Questions

What is CVE-2023-33953?
Excessive Iteration in gRPC This vulnerability has been assigned a severity rating of HIGH (CVSS score: 7.5/10).
How do I check if my project is affected by CVE-2023-33953?
CVE-2023-33953 affects grpc and grpcio. Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2023-33953 and 200,000+ other known vulnerabilities.

Severity & Exploitability

CVSS Score
7.5

High exploitability or significant impact. Prioritize remediation within days.

Also Known As

GHSA-496j-2rq6-j6cc
PYSEC-2026-1424

Related CVEs

Check if you're affected

Scan your dependencies to see if this vulnerability affects your projects.

Scan Your Dependencies