Skip to content
MediumVulnerability

CVE-2021-37660: TensorFlow floating point exception in inplace operations with crafted arguments

Identifier
CVE-2021-37660
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 inplace operations can be made to trigger a floating point exception through crafted arguments that cause a division by 0. The root cause is a logic error in inplace_ops.cc, where `||` is used instead of `&&`, so processing is not skipped when `x` and `v` are empty.

Mitigation

Patched in GitHub commit e86605c0a336c088b638da02135ea6f9f6753618. The fix will be included in TensorFlow 2.6.0, and the commit will also be cherrypicked to TensorFlow 2.5.1, TensorFlow 2.4.3, and TensorFlow 2.3.4.