Lucene search

K
ibmIBM9B6B008D3CB9D1053521F5485FF640A131420A777B75C1EA1FA168CCBC5DB755
HistoryOct 26, 2020 - 4:54 p.m.

Security Bulletin: CVE-2020-15190 for Tensorflow in Watson Machine Learning Community Edition

2020-10-2616:54:54
www.ibm.com
5
tensorflow
vulnerability
patched versions
wml ce
denial of service
input validation
segmentation fault

EPSS

0.002

Percentile

61.5%

Summary

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.

Vulnerability Details

CVEID:CVE-2020-15190
**DESCRIPTION:**TensorFlow is vulnerable to a denial of service, caused by improper input validation by the tf.raw_ops.Switch operation in eager mode. By sending a specially-crafted request, a remote attacker could exploit this vulnerability to cause a denial of service condition.
CVSS Base score: 5.3
CVSS Temporal Score: See: https://exchange.xforce.ibmcloud.com/vulnerabilities/188919 for the current score.
CVSS Vector: (CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L)

Affected Products and Versions

Affected Product(s) Version(s)
IBM Watson Machine Learning Community Edition 1.6.2
IBM Watson Machine Learning Community Edition 1.7.0

Remediation/Fixes

An ifix has been delivered for WML CE 1.6.2 and 1.7.0 that includes an updated package set. Obtaining the latest packages from the WML CE channel will ensure that you have the ifix installed.

Installing Tensorflow from WML CE 1.6.2 with ifix from scratch:

As noted, the latest package versions available contain the fixes, so new installations or new conda environments will automatically install the patched versions. Conda strict channel priority is recommended when using WML CE. This example is for Python 3.6, for other versions adjust the version listed.

$ cat .condarc
channels:
  - <https://public.dhe.ibm.com/ibmdl/export/pub/software/server/ibm-ai/conda>
  - defaults
channel_priority: strict



conda create -n my_env python=3.6  

conda activate my_env
  
conda install powerai=1.6.2

or

conda create -n my_env python=3.6
  
conda activate my_env
  
conda install tensorflow-gpu=1.15.4

Installing Tensorflow from WML CE 1.7.0 with ifix from scratch:

As noted, the latest package versions available contain the fixes, so new installations or new conda environments will automatically install the patched versions. Conda strict channel priority is recommended when using WML CE. This example is for Python 3.6. For other python versions, adjust the version listed.

$ cat .condarc
channels:
  - <https://public.dhe.ibm.com/ibmdl/export/pub/software/server/ibm-ai/conda>
  - defaults
channel_priority: strict



conda create -n my_env python=3.6
  
conda activate my_env
  
conda install powerai=1.7.0

or

conda create -n my_env python=3.6
  
conda activate my_env
  
conda install tensorflow-gpu=2.1.2

Updating an existing WML CE installation:

It is recommended that you keep packages up to date. To update all packages to the latest versions, run:

conda update --all --prune

To update individual packages, use the package name:

conda update tensorflow-gpu  
  
or  
  
conda install tensorflow-gpu=1.15.4

For WML CE 1.7.0:

conda update tensorflow-gpu  
  
or  
  
conda install tensorflow-gpu=2.1.2

Workarounds and Mitigations

None

EPSS

0.002

Percentile

61.5%

Related for 9B6B008D3CB9D1053521F5485FF640A131420A777B75C1EA1FA168CCBC5DB755