CVE-2020-15190
September 25, 2020
In Tensorflow before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1, the "tf.raw_ops.Switch" operation takes as input a tensor and a boolean and outputs two tensors. Depending on the boolean value, one of the tensors is exactly the input tensor whereas the other one should be an empty tensor. However, the eager runtime traverses all tensors in the output. Since only one of the tensors is defined, the other one is "nullptr", hence we are binding a reference to "nullptr". This is undefined behavior and reported as an error if compiling with "-fsanitize=null". In this case, this results in a segmentation fault The issue is patched in commit da8558533d925694483d2c136a9220d6d49d843c, and is released in TensorFlow versions 1.15.4, 2.0.3, 2.1.2, 2.2.1, or 2.3.1.
Affected Packages
tensorflow-gpu (PYTHON):
Affected version(s) >=0.12.0rc0 <1.15.4Fix Suggestion:
Update to version 1.15.4tensorflow-cpu (PYTHON):
Affected version(s) =2.2.0 <2.2.1Fix Suggestion:
Update to version 2.2.1tensorflow-gpu (PYTHON):
Affected version(s) >=2.1.0 <2.1.2Fix Suggestion:
Update to version 2.1.2tensorflow (PYTHON):
Affected version(s) >=0.11.0rc2 <1.15.4Fix Suggestion:
Update to version 1.15.4tensorflow-gpu (PYTHON):
Affected version(s) >=2.0.0 <2.0.3Fix Suggestion:
Update to version 2.0.3tensorflow (PYTHON):
Affected version(s) >=2.1.0 <2.1.2Fix Suggestion:
Update to version 2.1.2tensorflow-cpu (PYTHON):
Affected version(s) =2.3.0 <2.3.1Fix Suggestion:
Update to version 2.3.1tensorflow (PYTHON):
Affected version(s) =2.2.0 <2.2.1Fix Suggestion:
Update to version 2.2.1tensorflow (PYTHON):
Affected version(s) =2.3.0 <2.3.1Fix Suggestion:
Update to version 2.3.1tensorflow (PYTHON):
Affected version(s) >=2.0.0 <2.0.3Fix Suggestion:
Update to version 2.0.3tensorflow-gpu (PYTHON):
Affected version(s) =2.2.0 <2.2.1Fix Suggestion:
Update to version 2.2.1tensorflow-cpu (PYTHON):
Affected version(s) >=2.1.0 <2.1.2Fix Suggestion:
Update to version 2.1.2tensorflow-gpu (PYTHON):
Affected version(s) =2.3.0 <2.3.1Fix Suggestion:
Update to version 2.3.1Additional Notes
The description of this vulnerability differs from MITRE.
Related Resources (9)
Do you need more information?
Contact UsCVSS v4
Base Score:
6.9
Attack Vector
NETWORK
Attack Complexity
LOW
Attack Requirements
NONE
Privileges Required
NONE
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:
5.3
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
NONE
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
LOW
CVSS v2
Base Score:
5
Access Vector
NETWORK
Access Complexity
LOW
Authentication
NONE
Confidentiality Impact
NONE
Integrity Impact
NONE
Availability Impact
PARTIAL
EPSS
Base Score:
0.19