Skip to content
MediumVulnerability

CVE-2020-15200: Tensorflow RaggedCountSparseOutput heap buffer overflow via ragged input

Identifier
CVE-2020-15200
Published
Record updated
View JSON
Affected
  • tensorflow = 2.3.0
  • tensorflow-cpu = 2.3.0
  • tensorflow-gpu = 2.3.0
Fixed in
2.3.1
  • tensorflow 2.3.1 released September 24, 2020, 1 day before disclosure
  • tensorflow-cpu 2.3.1 released September 24, 2020, 1 day before disclosure
  • tensorflow-gpu 2.3.1 released September 24, 2020, 1 day before disclosure
Known exploitation
Not listed in the CISA Known Exploited Vulnerabilities catalog at the last check.
EPSS
0.9%

Summary

TensorFlow versions before 2.3.1 have a flaw in the `RaggedCountSparseOutput` implementation, which does not check that its inputs form a valid ragged tensor, in particular that the `splits` tensor partitions the `values` tensor correctly. Because of this, the code can cause a heap buffer overflow. If the first element of `splits_values` is not 0, accessing a missing hashmap in `per_batch_counts` from user code causes a segmentation fault.

Mitigation

The issue is patched in commit 3cbb917b4714766030b28eba9fb41bb97ce9ee02 and released in TensorFlow version 2.3.1.