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

exploitDog

github логотип

GHSA-j86v-p27c-73fm

Опубликовано: 10 нояб. 2021
Источник: github
Github: Прошло ревью
CVSS4: 8.5
CVSS3: 7.8

Описание

Unitialized access in EinsumHelper::ParseEquation

Impact

During execution, EinsumHelper::ParseEquation() is supposed to set the flags in input_has_ellipsis vector and *output_has_ellipsis boolean to indicate whether there is ellipsis in the corresponding inputs and output.

However, the code only changes these flags to true and never assigns false.

for (int i = 0; i < num_inputs; ++i) { input_label_counts->at(i).resize(num_labels); for (const int label : input_labels->at(i)) { if (label != kEllipsisLabel) input_label_counts->at(i)[label] += 1; else input_has_ellipsis->at(i) = true; } } output_label_counts->resize(num_labels); for (const int label : *output_labels) { if (label != kEllipsisLabel) output_label_counts->at(label) += 1; else *output_has_ellipsis = true; }

This results in unitialized variable access if callers assume that EinsumHelper::ParseEquation() always sets these flags.

Patches

We have patched the issue in GitHub commit f09caa532b6e1ac8d2aa61b7832c78c5b79300c6.

The fix will be included in TensorFlow 2.7.0. We will also cherrypick this commit on TensorFlow 2.6.1, TensorFlow 2.5.2, and TensorFlow 2.4.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.

Пакеты

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

tensorflow

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

>= 2.6.0, < 2.6.1

2.6.1

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

tensorflow

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

>= 2.5.0, < 2.5.2

2.5.2

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

tensorflow

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

< 2.4.4

2.4.4

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

tensorflow-cpu

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

>= 2.6.0, < 2.6.1

2.6.1

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

tensorflow-cpu

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

>= 2.5.0, < 2.5.2

2.5.2

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

tensorflow-cpu

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

< 2.4.4

2.4.4

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

tensorflow-gpu

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

>= 2.6.0, < 2.6.1

2.6.1

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

tensorflow-gpu

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

>= 2.5.0, < 2.5.2

2.5.2

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

tensorflow-gpu

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

< 2.4.4

2.4.4

EPSS

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

8.5 High

CVSS4

7.8 High

CVSS3

Дефекты

CWE-824

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

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

TensorFlow is an open source platform for machine learning. In affeced versions during execution, `EinsumHelper::ParseEquation()` is supposed to set the flags in `input_has_ellipsis` vector and `*output_has_ellipsis` boolean to indicate whether there is ellipsis in the corresponding inputs and output. However, the code only changes these flags to `true` and never assigns `false`. This results in unitialized variable access if callers assume that `EinsumHelper::ParseEquation()` always sets these flags. The fix will be included in TensorFlow 2.7.0. We will also cherrypick this commit on TensorFlow 2.6.1, TensorFlow 2.5.2, and TensorFlow 2.4.4, as these are also affected and still in supported range.

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

TensorFlow is an open source platform for machine learning. In affeced ...

EPSS

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

8.5 High

CVSS4

7.8 High

CVSS3

Дефекты

CWE-824