Skip to content
HighVulnerability

CVE-2021-37639: TensorFlow null pointer dereference and heap out-of-bounds read

Identifier
CVE-2021-37639
Published
Record updated
View JSON
Affected
  • tensorflow < 2.3.4, fixed in 2.3.4, released August 10, 2021, 2 days before disclosure
  • tensorflow >= 2.4.0, < 2.4.3, fixed in 2.4.3, released August 10, 2021, 2 days before disclosure
  • tensorflow = 2.5.0, fixed in 2.5.1, released August 10, 2021, 2 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 raw tensor restore APIs fail to validate inputs when restoring tensors. If no tensor name is provided, or the list is empty, TensorFlow dereferences a null pointer. If some names are given but too few to satisfy the restoration index, which is controlled by the preferred_shard argument, it performs a heap out-of-bounds read.

Mitigation

We have patched the issue in GitHub commit 9e82dce6e6bd1f36a57e08fa85af213e2b2f2622. The fix will be included in TensorFlow 2.6.0. The commit will also be cherrypicked to TensorFlow 2.5.1, TensorFlow 2.4.3, and TensorFlow 2.3.4.