CVE-2024-7246
HPACK table poisoning in gRPC C++, Python & Ruby
Description
It's possible for a gRPC client communicating with a HTTP/2 proxy to poison the HPACK table between the proxy and the backend such that other clients see failed requests. It's also possible to use this vulnerability to leak other clients HTTP header keys, but not values. This occurs because the error status for a misencoded header is not cleared between header reads, resulting in subsequent (incrementally indexed) added headers in the first request being poisoned until cleared from the HPACK table. Please update to a fixed version of gRPC as soon as possible. This bug has been fixed in 1.58.3, 1.59.5, 1.60.2, 1.61.3, 1.62.3, 1.63.2, 1.64.3, 1.65.4.
INFO
Published Date :
Aug. 6, 2024, 11:16 a.m.
Last Modified :
July 22, 2025, 7:29 p.m.
Remotely Exploit :
Yes !
Source :
[email protected]
CVSS Scores
| Score | Version | Severity | Vector | Exploitability Score | Impact Score | Source | 
|---|---|---|---|---|---|---|
| CVSS 3.1 | MEDIUM | [email protected] | ||||
| CVSS 4.0 | MEDIUM | [email protected] | 
Solution
- Update gRPC to a fixed version.
- If applicable, update the Linux packages.
- If applicable, update the python311-grpcio package.
Public PoC/Exploit Available at Github
                                            CVE-2024-7246 has a 4 public
                                            PoC/Exploit available at Github.
                                            Go to the Public Exploits tab to see the list.
                                        
References to Advisories, Solutions, and Tools
                                            Here, you will find a curated list of external links that provide in-depth
                                            information, practical solutions, and valuable tools related to
                                            CVE-2024-7246.
                                        
| URL | Resource | 
|---|---|
| https://github.com/grpc/grpc/issues/36245 | Exploit Issue Tracking Patch | 
CWE - Common Weakness Enumeration
            While CVE identifies
            specific instances of vulnerabilities, CWE categorizes the common flaws or
            weaknesses that can lead to vulnerabilities. CVE-2024-7246 is
            associated with the following CWEs:
        
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
            (CAPEC)
            stores attack patterns, which are descriptions of the common attributes and
            approaches employed by adversaries to exploit the CVE-2024-7246
            weaknesses.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
None
Jupyter Notebook Python Shell Dockerfile HTML CSS Jinja
Blueprint for Ingesting massive volumes of live or archived videos and extract insights for summarization and interactive Q&A
Shell Python CSS HTML Jupyter Notebook Dockerfile Jinja
Blueprint for Ingesting massive volumes of live or archived videos and extract insights for summarization and interactive Q&A
Shell Python CSS HTML Jupyter Notebook Dockerfile Jinja
Blueprint for Ingesting massive volumes of live or archived videos and extract insights for summarization and interactive Q&A
Shell JavaScript Python CSS HTML Jupyter Notebook Dockerfile Jinja
Results are limited to the first 15 repositories due to potential performance issues.
			The following list is the news that have been mention
			CVE-2024-7246 vulnerability anywhere in the article.
		
                The following table lists the changes that have been made to the
                CVE-2024-7246 vulnerability over time.
            
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
- 
                            Initial Analysis by [email protected]Jul. 22, 2025 Action Type Old Value New Value Added CVSS V3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N Added CWE NVD-CWE-noinfo Added CPE Configuration OR *cpe:2.3:a:grpc:grpc:*:*:*:*:*:-:*:* versions up to (excluding) 1.58.3 *cpe:2.3:a:grpc:grpc:*:*:*:*:*:-:*:* versions from (including) 1.59.0 up to (excluding) 1.59.5 *cpe:2.3:a:grpc:grpc:*:*:*:*:*:-:*:* versions from (including) 1.60.0 up to (excluding) 1.60.2 *cpe:2.3:a:grpc:grpc:*:*:*:*:*:-:*:* versions from (including) 1.61.0 up to (excluding) 1.61.3 *cpe:2.3:a:grpc:grpc:*:*:*:*:*:-:*:* versions from (including) 1.62.0 up to (excluding) 1.62.3 *cpe:2.3:a:grpc:grpc:*:*:*:*:*:-:*:* versions from (including) 1.63.0 up to (excluding) 1.63.2 *cpe:2.3:a:grpc:grpc:*:*:*:*:*:-:*:* versions from (including) 1.64.0 up to (excluding) 1.64.3 *cpe:2.3:a:grpc:grpc:*:*:*:*:*:-:*:* versions from (including) 1.65.0 up to (excluding) 1.65.4 Added Reference Type Google Inc.: https://github.com/grpc/grpc/issues/36245 Types: Exploit, Issue Tracking, Patch 
- 
                            CVE Received by [email protected]Aug. 06, 2024 Action Type Old Value New Value Added Description It's possible for a gRPC client communicating with a HTTP/2 proxy to poison the HPACK table between the proxy and the backend such that other clients see failed requests. It's also possible to use this vulnerability to leak other clients HTTP header keys, but not values. This occurs because the error status for a misencoded header is not cleared between header reads, resulting in subsequent (incrementally indexed) added headers in the first request being poisoned until cleared from the HPACK table. Please update to a fixed version of gRPC as soon as possible. This bug has been fixed in 1.58.3, 1.59.5, 1.60.2, 1.61.3, 1.62.3, 1.63.2, 1.64.3, 1.65.4. Added Reference Google Inc. https://github.com/grpc/grpc/issues/36245 [No types assigned] Added CWE Google Inc. CWE-440 Added CVSS V4.0 Google Inc. CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:L/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 
 
                         
                         
                         
                                             
                                            