CVE-2020-15208: Data corruption in tensorflow-lite
Impact When determining the common dimension size of two tensors, TFLite uses a DCHECK which is no-op outside of debug compilation modes: https://github.com/tensorflow/tensorflow/blob/0e68f4d3295eb0281a517c3662f6698992b7b2cf/tensorflow/lite/kernels/internal/types.h#L437-L442
Since the function always returns the dimension of the first tensor, malicious attackers can craft cases where this is larger than that of the second tensor. In turn, this would result in reads/writes outside of bounds since the interpreter will wrongly assume that there is enough data in both tensors.
Patches We have patched the issue in 8ee24e7949a20 and will release patch releases for all versions between 1.15 and 2.3.
We recommend users to upgrade to TensorFlow 1.15.4, 2.0.3, 2.1.2, 2.2.1, or 2.3.1.
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
In tensorflow-lite before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1, when determining the common dimension size of two tensors, TFLite uses a DCHECK which is no-op outside of debug compilation modes. Since the function always returns the dimension of the first tensor, malicious attackers can craft cases where this is larger than that of the second tensor. In turn, this would result in reads/writes outside of bounds since the interpreter will wrongly assume that there is enough data in both tensors. The issue is patched in commit 8ee24e7949a203d234489f9da2c5bf45a7d5157d, and is released in TensorFlow versions 1.15.4, 2.0.3, 2.1.2, 2.2.1, or 2.3.1.
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2020-15208?
CVE-2020-15208 is classified as a high-severity vulnerability due to its potential impact on the proper functioning of TensorFlow operations.
How do I fix CVE-2020-15208?
To fix CVE-2020-15208, upgrade TensorFlow to version 2.3.1 or higher.
Which versions of TensorFlow are affected by CVE-2020-15208?
CVE-2020-15208 affects TensorFlow versions 2.3.0, 2.2.0, 2.1.0, 2.0.0, and earlier versions up to 1.15.4.
Is TensorFlow Lite impacted by CVE-2020-15208?
Yes, TensorFlow Lite is impacted by CVE-2020-15208 as it relates to tensor operations.
What components within TensorFlow are vulnerable in CVE-2020-15208?
The vulnerability in CVE-2020-15208 specifically affects the internal types handling of common dimension sizes in TensorFlow.