Mend.io Vulnerability Database
The largest open source vulnerability database
What is a Vulnerability ID?
New vulnerability? Tell us about it!
CVE-2021-29512
May 14, 2021
TensorFlow is an end-to-end open source platform for machine learning. If the `splits` argument of `RaggedBincount` does not specify a valid `SparseTensor`(https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor), then an attacker can trigger a heap buffer overflow. This will cause a read from outside the bounds of the `splits` tensor buffer in the implementation of the `RaggedBincount` op(https://github.com/tensorflow/tensorflow/blob/8b677d79167799f71c42fd3fa074476e0295413a/tensorflow/core/kernels/bincount_op.cc#L430-L433). Before the `for` loop, `batch_idx` is set to 0. The user controls the `splits` array, making it contain only one element, 0. Thus, the code in the `while` loop would increment `batch_idx` and then try to read `splits(1)`, which is outside of bounds. The fix will be included in TensorFlow 2.5.0. We will also cherrypick this commit on TensorFlow 2.4.2 and TensorFlow 2.3.3, as these are also affected.
Affected Packages
tensorflow-gpu (PYTHON):
Affected version(s) >=2.4.0 <2.4.2
Fix Suggestion:
Update to version 2.4.2
tensorflow-cpu (PYTHON):
Affected version(s) >=2.4.0 <2.4.2
Fix Suggestion:
Update to version 2.4.2
tensorflow-gpu (PYTHON):
Affected version(s) >=2.3.0 <2.3.3
Fix Suggestion:
Update to version 2.3.3
tensorflow (PYTHON):
Affected version(s) >=2.4.0 <2.4.2
Fix Suggestion:
Update to version 2.4.2
tensorflow-cpu (PYTHON):
Affected version(s) >=2.3.0 <2.3.3
Fix Suggestion:
Update to version 2.3.3
tensorflow (PYTHON):
Affected version(s) >=2.3.0 <2.3.3
Fix Suggestion:
Update to version 2.3.3
Additional Notes
The description of this vulnerability differs from MITRE.
Do you need more information?
Contact Us
CVSS v4
Base Score:
2
Attack Vector
LOCAL
Attack Complexity
HIGH
Attack Requirements
NONE
Privileges Required
LOW
User Interaction
NONE
Vulnerable System Confidentiality
NONE
Vulnerable System Integrity
NONE
Vulnerable System Availability
LOW
Subsequent System Confidentiality
NONE
Subsequent System Integrity
NONE
Subsequent System Availability
NONE
CVSS v3
Base Score:
2.5
Attack Vector
LOCAL
Attack Complexity
HIGH
Privileges Required
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
LOW
CVSS v2
Base Score:
4.6
Access Vector
LOCAL
Access Complexity
LOW
Authentication
NONE
Confidentiality Impact
PARTIAL
Integrity Impact
PARTIAL
Availability Impact
PARTIAL
Weakness Type (CWE)
Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')
Out-of-bounds Write
EPSS
Base Score:
0.02