Skip to content
MediumVulnerability

CVE-2021-37685: TensorFlow Lite out-of-bounds heap read in expand_dims with negative axis

Identifier
CVE-2021-37685
Published
Record updated
View JSON
Affected
  • tensorflow < 2.3.4, fixed in 2.3.4, released August 10, 2021, 3 days before disclosure
  • tensorflow >= 2.4.0, < 2.4.3, fixed in 2.4.3, released August 10, 2021, 3 days before disclosure
  • tensorflow = 2.5.0, fixed in 2.5.1, released August 10, 2021, 3 days before disclosure
  • and 6 more
Known exploitation
Not listed in the CISA Known Exploited Vulnerabilities catalog at the last check.
EPSS
0.2%

Summary

TensorFlow's TFLite `expand_dims.cc` kernel contains a flaw that lets a large negative `axis` value, such as -100000, pass the bounds check. The `for` loop then reads one element before the start of heap-allocated `input_dims.data`, when `i = 0`. The issue is fixed in GitHub commit d94ffe08a65400f898241c0374e9edc6fa8ed257.

Mitigation

Fixed in GitHub commit d94ffe08a65400f898241c0374e9edc6fa8ed257. The fix will be included in TensorFlow 2.6.0, and the commit will be cherry-picked to TensorFlow 2.5.1, TensorFlow 2.4.3, and TensorFlow 2.3.4.