CVE-2022-29210
May 20, 2022
TensorFlow is an open source platform for machine learning. In version 2.8.0, the "TensorKey" hash function used total estimated "AllocatedBytes()", which (a) is an estimate per tensor, and (b) is a very poor hash function for constants (e.g. "int32_t"). It also tried to access individual tensor bytes through "tensor.data()" of size "AllocatedBytes()". This led to ASAN failures because the "AllocatedBytes()" is an estimate of total bytes allocated by a tensor, including any pointed-to constructs (e.g. strings), and does not refer to contiguous bytes in the ".data()" buffer. The discoverers could not use this byte vector anyway because types such as "tstring" include pointers, whereas they needed to hash the string values themselves. This issue is patched in Tensorflow versions 2.9.0 and 2.8.1.
Affected Packages
tensorflow-gpu (PYTHON):
Affected version(s) =2.8.0 <2.8.1Fix Suggestion:
Update to version 2.8.1tensorflow-cpu (PYTHON):
Affected version(s) =2.8.0 <2.8.1Fix Suggestion:
Update to version 2.8.1tensorflow (PYTHON):
Affected version(s) =2.8.0 <2.8.1Fix Suggestion:
Update to version 2.8.1Related ResourcesĀ (8)
Do you need more information?
Contact UsCVSS v4
Base Score:
6.8
Attack Vector
LOCAL
Attack Complexity
LOW
Attack Requirements
NONE
Privileges Required
LOW
User Interaction
NONE
Vulnerable System Confidentiality
NONE
Vulnerable System Integrity
NONE
Vulnerable System Availability
HIGH
Subsequent System Confidentiality
NONE
Subsequent System Integrity
NONE
Subsequent System Availability
NONE
CVSS v3
Base Score:
5.5
Attack Vector
LOCAL
Attack Complexity
LOW
Privileges Required
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
CVSS v2
Base Score:
2.1
Access Vector
LOCAL
Access Complexity
LOW
Authentication
NONE
Confidentiality Impact
NONE
Integrity Impact
NONE
Availability Impact
PARTIAL
Weakness Type (CWE)
EPSS
Base Score:
0.04