Skip to content
LowVulnerability

CVE-2021-29516: TensorFlow null pointer dereference in RaggedTensorToVariant

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

TensorFlow's `tf.raw_ops.RaggedTensorToVariant` operation dereferences a null pointer when called with an invalid, empty ragged tensor. The implementation never checks that the ragged tensor argument is non-empty, so `batched_ragged.splits(0)` reads from `nullptr`. The flaw is tracked as CVE-2021-29516.

Mitigation

The fix will be included in TensorFlow 2.5.0. The commit will also be cherry-picked to TensorFlow 2.4.2, TensorFlow 2.3.3, TensorFlow 2.2.3 and TensorFlow 2.1.4.