Headline
GHSA-7v5v-9h63-cj86: @grpc/grpc-js can allocate memory for incoming messages well above configured limits
Impact
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.
- 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.
Patches
This has been patched in versions 1.10.9, 1.9.15, and 1.8.22
Skip to content
Navigation Menu
Actions
Automate any workflow
Packages
Host and manage packages
Security
Find and fix vulnerabilities
Codespaces
Instant dev environments
GitHub Copilot
Write better code with AI
Code review
Manage code changes
Issues
Plan and track work
Discussions
Collaborate outside of code
GitHub Sponsors
Fund open source developers
* The ReadME Project
GitHub community articles
Enterprise platform
AI-powered developer platform
- Pricing
Provide feedback
Saved searches****Use saved searches to filter your results more quickly
Sign up
- GitHub Advisory Database
- GitHub Reviewed
- CVE-2024-37168
@grpc/grpc-js can allocate memory for incoming messages well above configured limits
Moderate severity GitHub Reviewed Published Jun 10, 2024 in grpc/grpc-node • Updated Jun 10, 2024
Package
npm @grpc/grpc-js (npm)
Affected versions
>= 1.10.0, < 1.10.9
>= 1.9.0, < 1.9.15
< 1.8.22
Patched versions
1.10.9
1.9.15
1.8.22
Description
Impact
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.
- 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.
Patches
This has been patched in versions 1.10.9, 1.9.15, and 1.8.22
References
- GHSA-7v5v-9h63-cj86
- grpc/grpc-node@08b0422
- grpc/grpc-node@674f4e3
- grpc/grpc-node@a8a0203
Published to the GitHub Advisory Database
Jun 10, 2024
Last updated
Jun 10, 2024