CVE-2021-37646

MediumCVSS 5.5/10Last modified Jun 17, 2026

Description

TensorFlow is an end-to-end open source platform for machine learning. In affected versions the implementation of `tf.raw_ops.StringNGrams` is vulnerable to an integer overflow issue caused by converting a signed integer value to an unsigned one and then allocating memory based on this value. The [implementation](https://github.com/tensorflow/tensorflow/blob/8d72537c6abf5a44103b57b9c2e22c14f5f49698/tensorflow/core/kernels/string_ngrams_op.cc#L184) calls `reserve` on a `tstring` with a value that sometimes can be negative if user supplies negative `ngram_widths`. The `reserve` method calls `TF_TString_Reserve` which has an `unsigned long` argument for the size of the buffer. Hence, the implicit conversion transforms the negative value to a large integer. We have patched the issue in GitHub commit c283e542a3f422420cfdb332414543b62fc4e4a5. The fix will be included in TensorFlow 2.6.0. We will also cherrypick this commit on TensorFlow 2.5.1, TensorFlow 2.4.3, and TensorFlow 2.3.4, as these are also affected and still in supported range.

Metrics

CVSS 3.1 5.5/10CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

Weakness enumeration

Affected software

No affected versions have been published.

Timeline

Published
Aug 12, 2021
Last modified
Jun 17, 2026
NVD status
Modified

Related CVEs from 2021

CVE-2021-376475.5TensorFlow is an end-to-end open source platform for machine learning. When a user does not supply arguments that determine a valid sparse tCVE-2021-376487.8TensorFlow is an end-to-end open source platform for machine learning. In affected versions the code for `tf.raw_ops.SaveV2` does not properCVE-2021-376495.5TensorFlow is an end-to-end open source platform for machine learning. The code for `tf.raw_ops.UncompressElement` can be made to trigger a CVE-2021-37657.5validator.js is vulnerable to Inefficient Regular Expression ComplexityCVE-2021-376507.8TensorFlow is an end-to-end open source platform for machine learning. In affected versions the implementation for `tf.raw_ops.ExperimentalDCVE-2021-376517.8TensorFlow is an end-to-end open source platform for machine learning. In affected versions the implementation for `tf.raw_ops.FractionalAvgCVE-2021-376527.8TensorFlow is an end-to-end open source platform for machine learning. In affected versions the implementation for `tf.raw_ops.BoostedTreesCCVE-2021-376535.5TensorFlow is an end-to-end open source platform for machine learning. In affected versions an attacker can trigger a crash via a floating pCVE-2021-376547.1TensorFlow is an end-to-end open source platform for machine learning. In affected versions an attacker can trigger a crash via a `CHECK`-faCVE-2021-376557.3TensorFlow is an end-to-end open source platform for machine learning. In affected versions an attacker can trigger a read from outside of bCVE-2021-376567.8TensorFlow is an end-to-end open source platform for machine learning. In affected versions an attacker can cause undefined behavior via binCVE-2021-376577.8TensorFlow is an end-to-end open source platform for machine learning. In affected versions an attacker can cause undefined behavior via bin
CVE-2021-37646: Medium severity, CVSS 5.5 | Vulnix