Skip to content
MediumVulnerability

CVE-2021-37644: TensorFlow abort from negative num_elements in TensorListReserve

Identifier
CVE-2021-37644
Published
Record updated
View JSON
Affected
  • tensorflow < 2.3.4, fixed in 2.3.4, released August 10, 2021, 3 days before disclosure
  • tensorflow >= 2.4.0, < 2.4.3, fixed in 2.4.3, released August 10, 2021, 3 days before disclosure
  • tensorflow = 2.5.0, fixed in 2.5.1, released August 10, 2021, 3 days before disclosure
  • and 6 more
Known exploitation
Not listed in the CISA Known Exploited Vulnerabilities catalog at the last check.
EPSS
0.2%

Summary

TensorFlow's `tf.raw_ops.TensorListReserve` does not validate the `num_elements` argument, so a negative value causes the runtime to abort the process. The flaw is in the `std::vector.resize()` call in `list_kernels.cc`, which takes a user-controlled size without a validity check.

Mitigation

Fixed in GitHub commit 8a6e874437670045e6c7dc6154c7412b4a2135e2, included in TensorFlow 2.6.0. The commit will also be cherry-picked to TensorFlow 2.5.1, 2.4.3 and 2.3.4.