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 11 of 22
CVE-2021-37671P3HIGH≥ 0, < 2.3.4≥ 2.4.0, < 2.4.3+1 more2021-08-25
CVE-2021-37671 [HIGH] CWE-824 Reference binding to nullptr in map operations
Reference binding to nullptr in map operations
### Impact
An attacker can cause undefined behavior via binding a reference to null pointer in `tf.raw_ops.Map*` and `tf.raw_ops.OrderedMap*` operations:
```python
import tensorflow as tf
tf.raw_ops.MapPeek(
key=tf.constant([8],dtype=tf.int64),
indices=[],
dtypes=[tf.int32],
capacity=8,
memory_limit=128)
```
The [implementation](https://github.com/tensorflow/tensorflow/
ghsaosv
CVE-2021-37639P3HIGH≥ 0, < 2.3.4≥ 2.4.0, < 2.4.3+1 more2021-08-25
CVE-2021-37639 [HIGH] CWE-125 Null pointer dereference and heap OOB read in operations restoring tensors
Null pointer dereference and heap OOB read in operations restoring tensors
### Impact
When restoring tensors via raw APIs, if the tensor name is not provided, TensorFlow can be tricked into dereferencing a null pointer:
```python
import tensorflow as tf
tf.raw_ops.Restore(
file_pattern=['/tmp'],
tensor_name=[],
default_value=21,
dt=tf.int,
preferred_shard=1)
```
The same undefined behavio
ghsaosv
CVE-2021-37666P3HIGH≥ 0, < 2.3.4≥ 2.4.0, < 2.4.3+1 more2021-08-25
CVE-2021-37666 [HIGH] CWE-824 Reference binding to nullptr in `RaggedTensorToVariant`
Reference binding to nullptr in `RaggedTensorToVariant`
### Impact
An attacker can cause undefined behavior via binding a reference to null pointer in `tf.raw_ops.RaggedTensorToVariant`:
```python
import tensorflow as tf
tf.raw_ops.RaggedTensorToVariant(
rt_nested_splits=[],
rt_dense_values=[1,2,3],
batched_input=True)
```
The [implementation](https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb
ghsaosv
CVE-2021-37638P3HIGH≥ 0, < 2.3.4≥ 2.4.0, < 2.4.3+1 more2021-08-25
CVE-2021-37638 [HIGH] CWE-476 Null pointer dereference in `RaggedTensorToTensor`
Null pointer dereference in `RaggedTensorToTensor`
### Impact
Sending invalid argument for `row_partition_types` of `tf.raw_ops.RaggedTensorToTensor` API results in a null pointer dereference and undefined behavior:
```python
import tensorflow as tf
tf.raw_ops.RaggedTensorToTensor(
shape=1,
values=10,
default_value=21,
row_partition_tensors=tf.constant([0,0,0,0]),
row_partition_types=[])
```
The [implementation]
ghsaosv
CVE-2021-37656P3MEDIUM≥ 0, < 2.3.4≥ 2.4.0, < 2.4.3+1 more2021-08-25
CVE-2021-37656 [MEDIUM] CWE-824 Reference binding to nullptr in `RaggedTensorToSparse`
Reference binding to nullptr in `RaggedTensorToSparse`
### Impact
An attacker can cause undefined behavior via binding a reference to null pointer in `tf.raw_ops.RaggedTensorToSparse`:
```python
import tensorflow as tf
tf.raw_ops.RaggedTensorToSparse(
rt_nested_splits=[[0, 38, 0]],
rt_dense_values=[])
```
The [implementation](https://github.com/tensorflow/tensorflow/blob/f24faa153ad31a4b51578f8181d3aaab77a
ghsaosv
CVE-2022-23590P3MEDIUM≥ 0, < 2.7.12022-02-09
CVE-2022-23590 [MEDIUM] CWE-754 Crash due to erroneous `StatusOr` in TensorFlow
Crash due to erroneous `StatusOr` in TensorFlow
### Impact
A `GraphDef` from a TensorFlow `SavedModel` can be maliciously altered to cause a TensorFlow process to crash due to encountering [a `StatusOr` value that is an error and forcibly extracting the value from it](https://github.com/tensorflow/tensorflow/blob/274df9b02330b790aa8de1cee164b70f72b9b244/tensorflow/core/graph/graph.cc#L560-L567):
```cc
if (op_reg_da
ghsaosv
CVE-2020-15266P3MEDIUM≥ 0, < 2.4.02020-11-13
CVE-2020-15266 [MEDIUM] CWE-119 Float cast overflow undefined behavior
Float cast overflow undefined behavior
### Impact
When the `boxes` argument of `tf.image.crop_and_resize` has a very large value, the CPU kernel implementation receives it as a C++ `nan` floating point value. Attempting to operate on this is undefined behavior which later produces a segmentation fault.
### Patches
We have patched the issue in c0319231333f0f16e1cc75ec83660b01fedd4182 and will release TensorFlow 2.4.0 contai
ghsaosv
CVE-2022-23593P3HIGH≥ 2.8.0-rc0, < 2.8.02022-02-09
CVE-2022-23593 [HIGH] CWE-754 Segfault in `simplifyBroadcast` in Tensorflow
Segfault in `simplifyBroadcast` in Tensorflow
### Impact
The [`simplifyBroadcast` function in the MLIR-TFRT infrastructure in TensorFlow](https://github.com/tensorflow/tensorflow/blob/274df9b02330b790aa8de1cee164b70f72b9b244/tensorflow/compiler/mlir/tfrt/jit/transforms/tf_cpurt_symbolic_shape_optimization.cc#L149-L205) is vulnerable to a segfault (hence, denial of service), if called with scalar shapes.
```cc
size_t ma
ghsaosv
CVE-2020-15193P3HIGH≥ 2.2.0, < 2.2.1≥ 2.3.0, < 2.3.12020-09-25
CVE-2020-15193 [HIGH] CWE-908 Memory corruption in Tensorflow
Memory corruption in Tensorflow
### Impact
The implementation of `dlpack.to_dlpack` can be made to use uninitialized memory resulting in further memory corruption. This is because the pybind11 glue code assumes that the argument is a tensor:
https://github.com/tensorflow/tensorflow/blob/0e68f4d3295eb0281a517c3662f6698992b7b2cf/tensorflow/python/tfe_wrapper.cc#L1361
However, there is nothing stopping users from passing in a Python ob
ghsaosv
CVE-2020-5215P3LOW≥ 0, < 1.15.2≥ 2.0.0, < 2.0.12020-01-28
CVE-2020-5215 [LOW] CWE-754 Segmentation faultin TensorFlow when converting a Python string to `tf.float16`
Segmentation faultin TensorFlow when converting a Python string to `tf.float16`
### Impact
Converting a string (from Python) to a `tf.float16` value results in a segmentation fault in eager mode as the format checks for this use case are only in the graph mode.
This issue can lead to denial of service in inference/training where a malicious attacker can send a data point which contains
ghsaosv
CVE-2018-10055P3HIGH≥ 1.1.0, < 1.7.12019-04-30
CVE-2018-10055 [HIGH] CWE-119 Improper Restriction of Operations within the Bounds of a Memory Buffer in Google TensorFlow
Improper Restriction of Operations within the Bounds of a Memory Buffer in Google TensorFlow
Invalid memory access and/or a heap buffer overflow in the TensorFlow XLA compiler in Google TensorFlow before 1.7.1 could cause a crash or read from other parts of process memory via a crafted configuration file.
ghsaosv
CVE-2022-41907P3MEDIUM≥ 0, < 2.8.4≥ 2.9.0, < 2.9.3+1 more2022-11-21
CVE-2022-41907 [MEDIUM] CWE-131 Overflow in `ResizeNearestNeighborGrad`
Overflow in `ResizeNearestNeighborGrad`
### Impact
When [`tf.raw_ops.ResizeNearestNeighborGrad`](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/kernels/image/resize_nearest_neighbor_op.cc) is given a large `size` input, it overflows.
```
import tensorflow as tf
align_corners = True
half_pixel_centers = False
grads = tf.constant(1, shape=[1,8,16,3], dtype=tf.float16)
size = tf.constant([1879048192,1879
ghsaosv
CVE-2022-36000P3MEDIUM≥ 0, < 2.7.2≥ 2.8.0, < 2.8.1+1 more2022-09-16
CVE-2022-36000 [MEDIUM] CWE-476 TensorFlow vulnerable to null dereference on MLIR on empty function attributes
TensorFlow vulnerable to null dereference on MLIR on empty function attributes
### Impact
`Eig` can be fed an incorrect `Tout` input, resulting in a `CHECK` fail that can trigger a denial of service attack.
```python
import tensorflow as tf
import numpy as np
arg_0=tf.constant(value=np.random.random(size=(2, 2)), shape=(2, 2), dtype=tf.float32)
arg_1=tf.complex128
arg_2=True
arg_3=''
t
ghsaosv
CVE-2022-36011P3MEDIUM≥ 0, < 2.7.2≥ 2.8.0, < 2.8.1+1 more2022-09-16
CVE-2022-36011 [MEDIUM] CWE-476 TensorFlow vulnerable to null dereference on MLIR on empty function attributes
TensorFlow vulnerable to null dereference on MLIR on empty function attributes
### 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 gives a null dereference.
```cpp
// Import the function attributes with a `tf.` prefix to match
ghsaosv
CVE-2022-41889P3MEDIUM≥ 0, < 2.8.4≥ 2.9.0, < 2.9.3+1 more2022-11-21
CVE-2022-41889 [MEDIUM] CWE-476 Segfault via invalid attributes in `pywrap_tfe_src.cc`
Segfault via invalid attributes in `pywrap_tfe_src.cc`
### Impact
If a list of quantized tensors is assigned to an attribute, the pywrap code fails to parse the tensor and returns a `nullptr`, which is not caught. An example can be seen in [`tf.compat.v1.extract_volume_patches`](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/kernels/image/generate_box_proposals_op.cu.cc) by passing in qu
ghsaosv
CVE-2022-41884P3MEDIUM≥ 0, < 2.8.4≥ 2.9.0, < 2.9.3+1 more2022-11-21
CVE-2022-41884 [MEDIUM] CWE-670 Seg fault in `ndarray_tensor_bridge` due to zero and large inputs
Seg fault in `ndarray_tensor_bridge` due to zero and large inputs
### Impact
If a numpy array is created with a shape such that one element is zero and the others sum to a large number, an error will be raised. E.g. the following raises an error:
```python
np.ones((0, 2**31, 2**31))
```
An example of a proof of concept:
```python
import numpy as np
import tensorflow as tf
input_val = tf.constant([
ghsaosv
CVE-2021-29616P3LOW≥ 0, < 2.1.4≥ 2.2.0, < 2.2.3+2 more2021-05-21
CVE-2021-29616 [LOW] CWE-476 Null dereference in Grappler's `TrySimplify`
Null dereference in Grappler's `TrySimplify`
### Impact
The implementation of [`TrySimplify`](https://github.com/tensorflow/tensorflow/blob/c22d88d6ff33031aa113e48aa3fc9aa74ed79595/tensorflow/core/grappler/optimizers/arithmetic_optimizer.cc#L390-L401) has undefined behavior due to dereferencing a null pointer in corner cases that
result in optimizing a node with no inputs.
### Patches
We have patched the issue in GitHub
ghsaosv
CVE-2021-29574P3LOW≥ 0, < 2.1.4≥ 2.2.0, < 2.2.3+2 more2021-05-21
CVE-2021-29574 [LOW] CWE-476 Undefined behavior in `MaxPool3DGradGrad`
Undefined behavior in `MaxPool3DGradGrad`
### Impact
The implementation of `tf.raw_ops.MaxPool3DGradGrad` exhibits undefined behavior by dereferencing null pointers backing attacker-supplied empty tensors:
```python
import tensorflow as tf
orig_input = tf.constant([0.0], shape=[1, 1, 1, 1, 1], dtype=tf.float32)
orig_output = tf.constant([0.0], shape=[1, 1, 1, 1, 1], dtype=tf.float32)
grad = tf.constant([], shape=[0, 0, 0,
ghsaosv
CVE-2021-29568P3LOW≥ 0, < 2.1.4≥ 2.2.0, < 2.2.3+2 more2021-05-21
CVE-2021-29568 [LOW] CWE-476 Reference binding to null in `ParameterizedTruncatedNormal`
Reference binding to null in `ParameterizedTruncatedNormal`
### Impact
An attacker can trigger undefined behavior by binding to null pointer in `tf.raw_ops.ParameterizedTruncatedNormal`:
```python
import tensorflow as tf
shape = tf.constant([], shape=[0], dtype=tf.int32)
means = tf.constant((1), dtype=tf.float32)
stdevs = tf.constant((1), dtype=tf.float32)
minvals = tf.constant((1), dtype=tf.float32)
maxv
ghsaosv
CVE-2021-37681P3HIGH≥ 0, < 2.3.4≥ 2.4.0, < 2.4.3+1 more2021-08-25
CVE-2021-37681 [HIGH] CWE-476 NPE in TFLite
NPE in TFLite
### Impact
The implementation of SVDF in TFLite is [vulnerable to a null pointer error](https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/lite/kernels/svdf.cc#L300-L313):
```cc
TfLiteTensor* state = GetVariableInput(context, node, kStateTensor);
// ...
GetTensorData(state)
```
The [`GetVariableInput` function](https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b19
ghsaosv