CVE-2024-37168 json
@grpc/grpc-js can allocate memory for incoming messages well above configured limits
published 2024-06-10 2 y ago modified 2026-09-10 1 mo ago also EUVD-2024-1970 , GHSA-7v5v-9h63-cj86
- cvss
- 5.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.7%
- EPSS 0.7% chance of exploitation in 30 days, percentile 52%
- public exploits
- 0
- none known
Summary
@grpc/grps-js implements the core functionality of gRPC purely in JavaScript, without a C++ addon. Prior to versions 1.10.9, 1.9.15, and 1.8.22, there are two separate code paths in which memory can be allocated per message in excess of the `grpc.max_receive_message_length` channel option: If an incoming message has a size on the wire greater than the configured limit, the entire message is buffered before it is discarded; and/or if an incoming message has a size within the limit on the wire but decompresses to a size greater than the limit, the entire message is decompressed into memory, and on the server is not discarded. This has been patched in versions 1.10.9, 1.9.15, and 1.8.22.
Patch / fix
- npm @grpc/grpc-js 1.8.22, 1.9.15, 1.10.9
- grpc grpc 1.8.22, 1.9.15, 1.10.9
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2024-37168 updated cvss 5.3
grps-js: allocate memory for incoming messages well above configured limits
-
Red Hat 3scale API Management Platform 2 openresty openresty Red Hat Developer Hub 1 rhdh/rhdh-hub-rhel9affected: workaround, no fix planned “Will not fix”
-
Red Hat Developer Hub 1 rhdh-operator-containernot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 2 y ago
Exploit prediction
0.67% chance of exploitation in the next 30 days, higher than 52% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
| GitHub | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | @grpc/grpc-js | >=1.10.0, <1.10.9 >=1.9.0, <1.9.15 <1.8.22 |
1.10.9 1.9.15 1.8.22 |
Affected products
- grpc grpc-node
- grpc grpc
Classification
- Weakness
-
- CWE-789 Memory Allocation with Excessive Size Value
References
-
github.com
/grpc/grpc-node/commit/08b0422dae56467ecae1007e899efe66a8c4a650
web
-
github.com
/grpc/grpc-node/commit/674f4e351a619fd4532f84ae6dff96b8ee4e1ed3
web
-
github.com
/grpc/grpc-node/commit/a8a020339c7eab1347a343a512ad17a4aea4bfdb
web
-
github.com
/grpc/grpc-node/security/advisories/GHSA-7v5v-9h63-cj86
web
-
nvd.nist.gov
/vuln/detail/CVE-2024-37168
advisory
-
github.com
/grpc/grpc-node
package
Sources
- CVE List CVE-2024-37168
- GitHub Advisory GHSA-7v5v-9h63-cj86
- NVD CVE-2024-37168
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.