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

CVE-2024-37168
MEDIUM 5.3

En bref

Source
NVD
EPSS
EPSS 0.67 % · centile 52 ()
État
PUBLISHED
Publiée
Mise à jour
Attribuée par
GitHub_M
Statut NVD
Deferred

Description

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

Faiblesses (CWE)

  • CWE-789 — Allocation mémoire d'une taille excessive

Références

Scores

VersionScoreVecteurÉvalué par
CVSS 3.1MEDIUM 5.3CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:LGitHub_M
CVSS 3.1MEDIUM 5.3CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:LNVD · security-advisories@github.com (Secondary)

Avis

Références européennes

Avis du CERT-FR

Produits affectés

ProduitVersions
grpc · grpc-nodeaffected >= 1.10.0, < 1.10.9 ; affected >= 1.9.0, < 1.9.15 ; affected < 1.8.22

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
CERT-FR (ANSSI)Licence Ouverte / Etalab 2.0
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD