p PatchFirst

CVE-2024-37168

CVE-2024-37168 · @grpc/grpc-js can allocate memory for incoming messages well above configured limits

This page contains facts from public vulnerability sources. Check the original advisory before updating.

@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.

CVSS 5.3 · Medium · EPSS 0.7% · Fix available

Published
Updated

Stack: node

Affected products and versions

  • grpc-node

    Versions
    • >= 1.10.0, < 1.10.9: Affected
    • >= 1.9.0, < 1.9.15: Affected
    • < 1.8.22: Affected

    No fix published

  • @grpc/grpc-js npm

    Affected ranges
    • SEMVER: ≥ 1.10.0, < 1.10.9

    Update to 1.10.9

  • @grpc/grpc-js npm

    Affected ranges
    • SEMVER: ≥ 1.9.0, < 1.9.15

    Update to 1.9.15

  • @grpc/grpc-js npm

    Affected ranges
    • SEMVER: < 1.8.22

    Update to 1.8.22

Original sources

Check your server →