Intel Optimization For Tensorflow vulnerabilities
429 known vulnerabilities affecting intel/optimization_for_tensorflow.
Total CVEs
429
CISA KEV
0
Public exploits
0
Exploited in wild
0
Severity breakdown
CRITICAL5HIGH121MEDIUM200LOW103
Vulnerabilities
Page 7 of 22
CVE-2021-29606P3MEDIUM≥ 0, < 2.1.4≥ 2.2.0, < 2.2.3+2 more2021-05-21
CVE-2021-29606 [MEDIUM] CWE-125 Heap OOB read in TFLite
Heap OOB read in TFLite
### Impact
A specially crafted TFLite model could trigger an OOB read on heap in the TFLite implementation of [`Split_V`](https://github.com/tensorflow/tensorflow/blob/c59c37e7b2d563967da813fa50fe20b21f4da683/tensorflow/lite/kernels/split_v.cc#L99):
```cc
const int input_size = SizeOfDimension(input, axis_value);
```
If `axis_value` is not a value between 0 and `NumDimensions(input)`, then the [`SizeOfDimension` f
ghsaosv
CVE-2021-29540P3LOW≥ 0, < 2.1.4≥ 2.2.0, < 2.2.3+2 more2021-05-21
CVE-2021-29540 [LOW] CWE-120 Heap buffer overflow in `Conv2DBackpropFilter`
Heap buffer overflow in `Conv2DBackpropFilter`
### Impact
An attacker can cause a heap buffer overflow to occur in `Conv2DBackpropFilter`:
```python
import tensorflow as tf
input_tensor = tf.constant([386.078431372549, 386.07843139643234],
shape=[1, 1, 1, 2], dtype=tf.float32)
filter_sizes = tf.constant([1, 1, 1, 1], shape=[4], dtype=tf.int32)
out_backprop = tf.constant([386.078431372549], shape=[1, 1, 1, 1],
dtype=tf
ghsaosv
CVE-2021-29578P3LOW≥ 0, < 2.1.4≥ 2.2.0, < 2.2.3+2 more2021-05-21
CVE-2021-29578 [LOW] CWE-119 Heap buffer overflow in `FractionalAvgPoolGrad`
Heap buffer overflow in `FractionalAvgPoolGrad`
### Impact
The implementation of `tf.raw_ops.FractionalAvgPoolGrad` is vulnerable to a heap buffer overflow:
```python
import tensorflow as tf
orig_input_tensor_shape = tf.constant([1, 3, 2, 3], shape=[4], dtype=tf.int64)
out_backprop = tf.constant([2], shape=[1, 1, 1, 1], dtype=tf.int64)
row_pooling_sequence = tf.constant([1], shape=[1], dtype=tf.int64)
col_pooling_seq
ghsaosv
CVE-2021-29577P3LOW≥ 0, < 2.1.4≥ 2.2.0, < 2.2.3+2 more2021-05-21
CVE-2021-29577 [LOW] CWE-119 Heap buffer overflow in `AvgPool3DGrad`
Heap buffer overflow in `AvgPool3DGrad`
### Impact
The implementation of `tf.raw_ops.AvgPool3DGrad` is vulnerable to a heap buffer overflow:
```python
import tensorflow as tf
orig_input_shape = tf.constant([10, 6, 3, 7, 7], shape=[5], dtype=tf.int32)
grad = tf.constant([0.01, 0, 0], shape=[3, 1, 1, 1, 1], dtype=tf.float32)
ksize = [1, 1, 1, 1, 1]
strides = [1, 1, 1, 1, 1]
padding = "SAME"
tf.raw_ops.AvgPool3DGrad(
orig_inpu
ghsaosv
CVE-2021-29558P3LOW≥ 0, < 2.1.4≥ 2.2.0, < 2.2.3+2 more2021-05-21
CVE-2021-29558 [LOW] CWE-787 Heap buffer overflow in `SparseSplit`
Heap buffer overflow in `SparseSplit`
### Impact
An attacker can cause a heap buffer overflow in `tf.raw_ops.SparseSplit`:
```python
import tensorflow as tf
shape_dims = tf.constant(0, dtype=tf.int64)
indices = tf.ones([1, 1], dtype=tf.int64)
values = tf.ones([1], dtype=tf.int64)
shape = tf.ones([1], dtype=tf.int64)
tf.raw_ops.SparseSplit(
split_dim=shape_dims, indices=indices, values=values,
shape=shape, num_split=1)
```
Th
ghsaosv
CVE-2021-41214P3HIGH≥ 2.6.0, < 2.6.1≥ 2.5.0, < 2.5.2+1 more2021-11-10
CVE-2021-41214 [HIGH] CWE-824 Reference binding to `nullptr` in `tf.ragged.cross`
Reference binding to `nullptr` in `tf.ragged.cross`
### Impact
The [shape inference code for `tf.ragged.cross`](https://github.com/tensorflow/tensorflow/blob/8d72537c6abf5a44103b57b9c2e22c14f5f49698/tensorflow/core/ops/ragged_array_ops.cc#L64) has an undefined behavior due to binding a reference to `nullptr`. In the following scenario, this results in a crash:
```python
import tensorflow as tf
@tf.function
def t
ghsaosv
CVE-2021-29603P3LOW≥ 0, < 2.1.4≥ 2.2.0, < 2.2.3+2 more2021-05-21
CVE-2021-29603 [LOW] CWE-787 Heap OOB write in TFLite
Heap OOB write in TFLite
### Impact
A specially crafted TFLite model could trigger an OOB write on heap in the TFLite implementation of [`ArgMin`/`ArgMax`](https://github.com/tensorflow/tensorflow/blob/102b211d892f3abc14f845a72047809b39cc65ab/tensorflow/lite/kernels/arg_min_max.cc#L52-L59):
```cc
TfLiteIntArray* output_dims = TfLiteIntArrayCreate(NumDimensions(input) - 1);
int j = 0;
for (int i = 0; i data[j] = SizeOfDimension(input, i);
++
ghsaosv
CVE-2021-29588P3LOW≥ 0, < 2.1.4≥ 2.2.0, < 2.2.3+2 more2021-05-21
CVE-2021-29588 [LOW] CWE-369 Division by zero in TFLite's implementation of `TransposeConv`
Division by zero in TFLite's implementation of `TransposeConv`
### Impact
The optimized implementation of the `TransposeConv` TFLite operator is [vulnerable to a division by zero error](https://github.com/tensorflow/tensorflow/blob/0d45ea1ca641b21b73bcf9c00e0179cda284e7e7/tensorflow/lite/kernels/internal/optimized/optimized_ops.h#L5221-L5222):
```cc
int height_col = (height + pad_t + pad_b - filter_h) /
ghsaosv
CVE-2021-29566P3LOW≥ 0, < 2.1.4≥ 2.2.0, < 2.2.3+2 more2021-05-21
CVE-2021-29566 [LOW] CWE-787 Heap OOB access in `Dilation2DBackpropInput`
Heap OOB access in `Dilation2DBackpropInput`
### Impact
An attacker can write outside the bounds of heap allocated arrays by passing invalid arguments to `tf.raw_ops.Dilation2DBackpropInput`:
```python
import tensorflow as tf
input_tensor = tf.constant([1.1] * 81, shape=[3, 3, 3, 3], dtype=tf.float32)
filter = tf.constant([], shape=[0, 0, 3], dtype=tf.float32)
out_backprop = tf.constant([1.1] * 1062, shape=[3, 2, 59, 3]
ghsaosv
CVE-2021-29586P3LOW≥ 0, < 2.1.4≥ 2.2.0, < 2.2.3+2 more2021-05-21
CVE-2021-29586 [LOW] CWE-369 Division by zero in optimized pooling implementations in TFLite
Division by zero in optimized pooling implementations in TFLite
### Impact
Optimized pooling implementations in TFLite fail to check that the stride arguments are not 0 before calling [`ComputePaddingHeightWidth`](https://github.com/tensorflow/tensorflow/blob/3f24ccd932546416ec906a02ddd183b48a1d2c83/tensorflow/lite/kernels/pooling.cc#L90).
Since users can craft special models which will have `params->s
ghsaosv
CVE-2021-29610P3LOW≥ 0, < 2.1.4≥ 2.2.0, < 2.2.3+2 more2021-05-21
CVE-2021-29610 [LOW] CWE-665 Invalid validation in `QuantizeAndDequantizeV2`
Invalid validation in `QuantizeAndDequantizeV2`
### Impact
The validation in `tf.raw_ops.QuantizeAndDequantizeV2` allows invalid values for `axis` argument:
```python
import tensorflow as tf
input_tensor = tf.constant([0.0], shape=[1], dtype=float)
input_min = tf.constant(-10.0)
input_max = tf.constant(-10.0)
tf.raw_ops.QuantizeAndDequantizeV2(
input=input_tensor, input_min=input_min, input_max=input_max,
signed_inp
ghsaosv
CVE-2021-37648P3HIGH≥ 0, < 2.3.4≥ 2.4.0, < 2.4.3+1 more2021-08-25
CVE-2021-37648 [HIGH] CWE-476 Incorrect validation of `SaveV2` inputs
Incorrect validation of `SaveV2` inputs
### Impact
The code for `tf.raw_ops.SaveV2` does not properly validate the inputs and an attacker can trigger a null pointer dereference:
```python
import tensorflow as tf
tf.raw_ops.SaveV2(
prefix=['tensorflow'],
tensor_name=['v'],
shape_and_slices=[],
tensors=[1,2,3])
```
The [implementation](https://github.com/tensorflow/tensorflow/blob/8d72537c6abf5a44103b57b9c2e22c14f5f49698/ten
ghsaosv
CVE-2021-37650P3HIGH≥ 0, < 2.3.4≥ 2.4.0, < 2.4.3+1 more2021-08-25
CVE-2021-37650 [HIGH] CWE-120 Segfault and heap buffer overflow in `{Experimental,}DatasetToTFRecord`
Segfault and heap buffer overflow in `{Experimental,}DatasetToTFRecord`
### Impact
The implementation for `tf.raw_ops.ExperimentalDatasetToTFRecord` and `tf.raw_ops.DatasetToTFRecord` can trigger heap buffer overflow and segmentation fault:
```python
import tensorflow as tf
dataset = tf.data.Dataset.range(3)
dataset = tf.data.experimental.to_variant(dataset)
tf.raw_ops.ExperimentalDatasetToTF
ghsaosv
CVE-2021-37651P3HIGH≥ 0, < 2.3.4≥ 2.4.0, < 2.4.3+1 more2021-08-25
CVE-2021-37651 [HIGH] CWE-125 Heap buffer overflow in `FractionalAvgPoolGrad`
Heap buffer overflow in `FractionalAvgPoolGrad`
### Impact
The implementation for `tf.raw_ops.FractionalAvgPoolGrad` can be tricked into accessing data outside of bounds of heap allocated buffers:
```python
import tensorflow as tf
tf.raw_ops.FractionalAvgPoolGrad(
orig_input_tensor_shape=[0,1,2,3],
out_backprop = np.array([[[[541],[541]],[[541],[541]]]]),
row_pooling_sequence=[0, 0, 0, 0, 0],
col_pooling_sequence=[-
ghsaosv
CVE-2021-37663P3HIGH≥ 0, < 2.3.4≥ 2.4.0, < 2.4.3+1 more2021-08-25
CVE-2021-37663 [HIGH] CWE-20 Incomplete validation in `QuantizeV2`
Incomplete validation in `QuantizeV2`
### Impact
Due to incomplete validation in `tf.raw_ops.QuantizeV2`, an attacker can trigger undefined behavior via binding a reference to a null pointer or can access data outside the bounds of heap allocated arrays:
```python
import tensorflow as tf
tf.raw_ops.QuantizeV2(
input=[1,2,3],
min_range=[1,2],
max_range=[],
T=tf.qint32,
mode='SCALED',
round_mode='HALF_AWAY_FROM_ZERO',
narrow_ran
ghsaosv
CVE-2021-37658P3MEDIUM≥ 0, < 2.3.4≥ 2.4.0, < 2.4.3+1 more2021-08-25
CVE-2021-37658 [MEDIUM] CWE-824 Reference binding to nullptr in `MatrixSetDiagV*` ops
Reference binding to nullptr in `MatrixSetDiagV*` ops
### Impact
An attacker can cause undefined behavior via binding a reference to null pointer in all operations of type `tf.raw_ops.MatrixSetDiagV*`:
```python
import tensorflow as tf
tf.raw_ops.MatrixSetDiagV3(
input=[1,2,3],
diagonal=[1,1],
k=[],
align='RIGHT_LEFT')
```
The [implementation](https://github.com/tensorflow/tensorflow/blob/84d053187cb80d975e
ghsaosv
CVE-2021-37657P3MEDIUM≥ 0, < 2.3.4≥ 2.4.0, < 2.4.3+1 more2021-08-25
CVE-2021-37657 [MEDIUM] CWE-824 Reference binding to nullptr in `MatrixDiagV*` ops
Reference binding to nullptr in `MatrixDiagV*` ops
### Impact
An attacker can cause undefined behavior via binding a reference to null pointer in all operations of type `tf.raw_ops.MatrixDiagV*`:
```python
import tensorflow as tf
tf.raw_ops.MatrixDiagV3(
diagonal=[1,0],
k=[],
num_rows=[1,2,3],
num_cols=[4,5],
padding_value=[],
align='RIGHT_RIGHT')
```
The [implementation](https://github.com/tensorflow/tensorfl
ghsaosv
CVE-2020-26269P3HIGH≥ 2.4.0rc0, < 2.4.02022-10-07
CVE-2020-26269 [HIGH] CWE-125 TensorFlow vulnerable to heap out of bounds read in filesystem glob matching
TensorFlow vulnerable to heap out of bounds read in filesystem glob matching
### Impact
The general implementation for matching filesystem paths to globbing pattern is vulnerable to an access out of bounds of [the array holding the directories](https://github.com/tensorflow/tensorflow/blob/458c6260265c46ebaf18052d6c61aea4b6b40926/tensorflow/core/platform/file_system_helper.cc#L127):
```cc
ghsaosv
CVE-2022-36014P3MEDIUM≥ 0, < 2.7.2≥ 2.8.0, < 2.8.1+1 more2022-09-16
CVE-2022-36014 [MEDIUM] CWE-476 TensorFlow vulnerable to null-dereference in `mlir::tfg::TFOp::nameAttr`
TensorFlow vulnerable to null-dereference in `mlir::tfg::TFOp::nameAttr`
### Impact
When [`mlir::tfg::TFOp::nameAttr`](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/ir/importexport/graphdef_import.cc) receives null type list attributes, it crashes.
```cpp
StatusOr GraphDefImporter::ArgNumType(const NamedAttrList &attrs,
const OpDef::ArgDef &arg_def,
SmallVectorImpl &t
ghsaosv
CVE-2022-36012P3MEDIUM≥ 0, < 2.7.2≥ 2.8.0, < 2.8.1+1 more2022-09-16
CVE-2022-36012 [MEDIUM] CWE-617 TensorFlow vulnerable to assertion fail on MLIR empty edge names
TensorFlow vulnerable to assertion fail on MLIR empty edge names
### Impact
When [`mlir::tfg::ConvertGenericFunctionToFunctionDef`](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/ir/importexport/functiondef_import.cc) is given empty function attributes, it crashes.
```cpp
// We pre-allocate the array of operands and populate it using the
// `output_name_to_position` and `contro
ghsaosv