PT-2021-18358 · Google · Tensorflow
Yakun Zhang
+1
·
Published
2021-05-14
·
Updated
2024-03-06
·
CVE-2021-29607
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.2 and earlier
TensorFlow versions 2.3.3 and earlier
TensorFlow versions 2.2.3 and earlier
TensorFlow versions 2.1.4 and earlier
Description
Incomplete validation in
SparseAdd results in allowing attackers to exploit undefined behavior, such as dereferencing null pointers and writing outside of bounds of heap allocated data. The implementation has a large set of validation for the two sparse tensor inputs but does not validate that the tensors are not empty or that the second dimension of * indices matches the size of corresponding * shape. This allows attackers to send tensor triples that represent invalid sparse tensors to abuse code assumptions that are not protected by validation.Recommendations
For versions prior to 2.5.0, update to TensorFlow 2.5.0 or later.
For versions 2.4.2 and earlier, update to TensorFlow 2.4.2 or later.
For versions 2.3.3 and earlier, update to TensorFlow 2.3.3 or later.
For versions 2.2.3 and earlier, update to TensorFlow 2.2.3 or later.
For versions 2.1.4 and earlier, update to TensorFlow 2.1.4 or later.
As a temporary workaround, consider disabling the
SparseAdd function until a patch is available.
Restrict access to the vulnerable tf.raw ops.SparseSparseMinimum API endpoint to minimize the risk of exploitation.
Avoid using the a indices, a values, a shape, b indices, b values, and b shape variables in the affected API endpoint until the issue is resolved.Exploit
Fix
Improper Check for Exceptional Conditions
Found an issue in the description? Have something to add? Feel free to write us 👾
Weakness Enumeration
Related Identifiers
Affected Products
Tensorflow