Skip to content
LowVulnerability

CVE-2021-29519: TensorFlow SparseCross denial of service through type confusion in tf.raw_ops

Identifier
CVE-2021-29519
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

The API of `tf.raw_ops.SparseCross` in TensorFlow accepts input combinations that trigger a `CHECK`-failure, causing denial of service. The implementation is tricked into treating a `tstring` tensor that actually contains integral elements, a type confusion. The fix will ship in TensorFlow 2.5.0, with cherry-picks to 2.4.2, 2.3.3, 2.2.3 and 2.1.4.

Mitigation

Fixing the type confusion by preventing mixing `DT_STRING` and `DT_INT64` types. Fixed in TensorFlow 2.5.0, with the commit also cherry-picked to TensorFlow 2.4.2, 2.3.3, 2.2.3 and 2.1.4.