Skip to content
LowVulnerability

CVE-2021-29514: TensorFlow heap buffer overflow in RaggedBincount via splits argument

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

Summary

A heap buffer overflow in TensorFlow's `RaggedBincount` op occurs when the `splits` argument does not specify a valid `SparseTensor`. An attacker can set `splits(0)` to 7, which keeps `batch_idx` at 0 and writes to `out(-1, bin)`, before the output tensor's heap buffer.

Mitigation

The fix will be included in TensorFlow 2.5.0. The commit will also be cherry-picked to TensorFlow 2.4.2 and TensorFlow 2.3.3, which are also affected.