CVE-2021-29604: Division by zero in TFLite's implementation of hashtable lookup
Impact The TFLite implementation of hashtable lookup is vulnerable to a division by zero error:
cc const int numrows = SizeOfDimension(value, 0); const int rowbytes = value->bytes / numrows;
An attacker can craft a model such that values's first dimension would be 0.
Patches We have patched the issue in GitHub commit 5117e0851348065ed59c991562c0ec80d9193db2.
The fix will be included in TensorFlow 2.5.0. We will also cherrypick this commit on TensorFlow 2.4.2, TensorFlow 2.3.3, TensorFlow 2.2.3 and TensorFlow 2.1.4, as these are also affected and still in supported range.
For more information Please consult our security guide for more information regarding the security model and how to contact us with issues and questions.
Attribution This vulnerability has been reported by members of the Aivul Team from Qihoo 360.
Other sources
TensorFlow is an end-to-end open source platform for machine learning. The TFLite implementation of hashtable lookup is vulnerable to a division by zero error(https://github.com/tensorflow/tensorflow/blob/1a8e885b864c818198a5b2c0cbbeca5a1e833bc8/tensorflow/lite/kernels/hashtablelookup.cc#L114-L115) An attacker can craft a model such that values's first dimension would be 0. The fix will be included in TensorFlow 2.5.0. We will also cherrypick this commit on TensorFlow 2.4.2, TensorFlow 2.3.3, TensorFlow 2.2.3 and TensorFlow 2.1.4, as these are also affected and still in supported range.
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2021-29604?
CVE-2021-29604 is classified as a high-severity vulnerability due to its potential to cause a division by zero error.
How do I fix CVE-2021-29604?
To resolve CVE-2021-29604, update to TensorFlow version 2.4.2 or later, or install fixed versions provided for TensorFlow packages.
Which TensorFlow versions are affected by CVE-2021-29604?
CVE-2021-29604 affects TensorFlow versions prior to 2.1.4, between 2.2.0 and 2.2.3, between 2.3.0 and 2.3.3, and between 2.4.0 and 2.4.2.
What type of vulnerability is CVE-2021-29604?
CVE-2021-29604 is a programming vulnerability that leads to a division by zero error in the TFLite implementation of hashtable lookup.
Is CVE-2021-29604 a remote code execution vulnerability?
CVE-2021-29604 does not involve remote code execution but may result in application crashes and instability.