Skip to content
LowVulnerability

CVE-2021-29584: TensorFlow denial of service via integer overflow in sparse tensor shape

Identifier
CVE-2021-29584
Published
Record updated
View JSON
Affected
  • tensorflow < 2.1.4, fixed in 2.1.4, released June 15, 2021, 31 days after disclosure
  • tensorflow >= 2.2.0, < 2.2.3, fixed in 2.2.3, released June 15, 2021, 31 days after disclosure
  • tensorflow >= 2.3.0, < 2.3.3, fixed in 2.3.3, released June 15, 2021, 31 days after disclosure
  • and 9 more
Known exploitation
Not listed in the CISA Known Exploited Vulnerabilities catalog at the last check.
EPSS
0.2%

Summary

CVE-2021-29584 is a denial-of-service flaw in TensorFlow caused by an integer overflow when building a new tensor shape in sparse_split_op.cc. The TensorShape constructor uses a CHECK operation that fails when InitDims returns a non-OK status, so an attacker can crash the process.

Mitigation

The fix will be included in TensorFlow 2.5.0. The same commit will be cherry-picked to TensorFlow 2.4.2, 2.3.3, 2.2.3 and 2.1.4. Operations should use BuildTensorShapeBase or AddDimWithStatus instead of the legacy constructor.