~ / search / GHSA-7v5v-9h63-cj86

GHSA-7v5v-9h63-cj86

@grpc/grpc-js can allocate memory for incoming messages well above configured limits

Source: GitHub Advisory Database (reviewed) Moderate CVE-2024-37168

Packages

EcosystemPackageAffectedFixed in
npm @grpc/grpc-js >= 1.10.0, < 1.10.9 1.10.9
npm @grpc/grpc-js >= 1.9.0, < 1.9.15 1.9.15
npm @grpc/grpc-js < 1.8.22 1.8.22

Details

As written in the advisory (Markdown source, shown as plain text).

### 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: 1. If an incoming message has a size on the wire greater than the configured limit, the entire message is buffered before it is discarded. 2. 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

External links from the advisory. They lead to third-party sites.