Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

github логотип

GHSA-rrx2-r989-2c43

Опубликовано: 09 фев. 2022
Источник: github
Github: Прошло ревью
CVSS4: 7.1
CVSS3: 6.5

Описание

Integer overflows in Tensorflow

Impact

The implementations of Sparse*Cwise* ops are vulnerable to integer overflows. These can be used to trigger large allocations (so, OOM based denial of service) or CHECK-fails when building new TensorShape objects (so, assert failures based denial of service):

import tensorflow as tf import numpy as np tf.raw_ops.SparseDenseCwiseDiv( sp_indices=np.array([[9]]), sp_values=np.array([5]), sp_shape=np.array([92233720368., 92233720368]), dense=np.array([4]))

We are missing some validation on the shapes of the input tensors as well as directly constructing a large TensorShape with user-provided dimensions. The latter is an instance of TFSA-2021-198 (CVE-2021-41197) and is easily fixed by replacing a call to TensorShape constructor with a call to BuildTensorShape static helper factory.

Patches

We have patched the issue in GitHub commits 1b54cadd19391b60b6fcccd8d076426f7221d5e8 and e952a89b7026b98fe8cbe626514a93ed68b7c510.

The fix will be included in TensorFlow 2.8.0. We will also cherrypick this commit on TensorFlow 2.7.1, TensorFlow 2.6.3, and TensorFlow 2.5.3, as these are also affected and still in supported range.

For more information

Please consult our security guide for more information regarding the security model and how to contact us with issues and questions.

Attribution

This vulnerability has been reported by Faysal Hossain Shezan from University of Virginia.

Пакеты

Наименование

tensorflow

pip
Затронутые версииВерсия исправления

< 2.5.3

2.5.3

Наименование

tensorflow

pip
Затронутые версииВерсия исправления

>= 2.6.0, < 2.6.3

2.6.3

Наименование

tensorflow

pip
Затронутые версииВерсия исправления

= 2.7.0

2.7.1

Наименование

tensorflow-cpu

pip
Затронутые версииВерсия исправления

< 2.5.3

2.5.3

Наименование

tensorflow-cpu

pip
Затронутые версииВерсия исправления

>= 2.6.0, < 2.6.3

2.6.3

Наименование

tensorflow-cpu

pip
Затронутые версииВерсия исправления

= 2.7.0

2.7.1

Наименование

tensorflow-gpu

pip
Затронутые версииВерсия исправления

< 2.5.3

2.5.3

Наименование

tensorflow-gpu

pip
Затронутые версииВерсия исправления

>= 2.6.0, < 2.6.3

2.6.3

Наименование

tensorflow-gpu

pip
Затронутые версииВерсия исправления

= 2.7.0

2.7.1

EPSS

Процентиль: 63%
0.0045
Низкий

7.1 High

CVSS4

6.5 Medium

CVSS3

Дефекты

CWE-190

Связанные уязвимости

CVSS3: 6.5
nvd
около 4 лет назад

Tensorflow is an Open Source Machine Learning Framework. The implementations of `Sparse*Cwise*` ops are vulnerable to integer overflows. These can be used to trigger large allocations (so, OOM based denial of service) or `CHECK`-fails when building new `TensorShape` objects (so, assert failures based denial of service). We are missing some validation on the shapes of the input tensors as well as directly constructing a large `TensorShape` with user-provided dimensions. The fix will be included in TensorFlow 2.8.0. We will also cherrypick this commit on TensorFlow 2.7.1, TensorFlow 2.6.3, and TensorFlow 2.5.3, as these are also affected and still in supported range.

CVSS3: 6.5
debian
около 4 лет назад

Tensorflow is an Open Source Machine Learning Framework. The implement ...

EPSS

Процентиль: 63%
0.0045
Низкий

7.1 High

CVSS4

6.5 Medium

CVSS3

Дефекты

CWE-190