PT-2021-18359 · Google · Tensorflow
Yakun Zhang
+1
·
Published
2021-05-14
·
Updated
2024-03-06
·
CVE-2021-29608
CVSS v3.1
7.8
High
| Vector | AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
Name of the Vulnerable Software and Affected Versions
TensorFlow versions prior to 2.5.0
TensorFlow versions 2.4.1 and earlier
TensorFlow versions 2.3.2 and earlier
TensorFlow versions 2.2.2 and earlier
TensorFlow versions 2.1.3 and earlier
Description
Due to a lack of validation in
tf.raw ops.RaggedTensorToTensor, an attacker can exploit undefined behavior if input arguments are empty. The implementation only checks that one of the tensors is not empty, but does not check for the other ones. There are multiple DCHECK validations to prevent heap out-of-bounds, but these are no-op in release builds, hence they don't prevent anything.Recommendations
For TensorFlow versions prior to 2.5.0, update to TensorFlow 2.5.0 or later.
For TensorFlow versions 2.4.1 and earlier, update to TensorFlow 2.4.2 or later.
For TensorFlow versions 2.3.2 and earlier, update to TensorFlow 2.3.3 or later.
For TensorFlow versions 2.2.2 and earlier, update to TensorFlow 2.2.3 or later.
For TensorFlow versions 2.1.3 and earlier, update to TensorFlow 2.1.4 or later.
As a temporary workaround, consider adding input validation to ensure that all tensors are not empty before calling
tf.raw ops.RaggedTensorToTensor.Exploit
Fix
Found an issue in the description? Have something to add? Feel free to write us 👾
Weakness Enumeration
Related Identifiers
Affected Products
Tensorflow