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 13 of 22
CVE-2022-23564P4HIGH≥ 0, < 2.5.3≥ 2.6.0, < 2.6.3+1 more2022-02-09
CVE-2022-23564 [HIGH] CWE-617 Reachable Assertion in Tensorflow
Reachable Assertion in Tensorflow
### Impact
When decoding a resource handle tensor from protobuf, a TensorFlow process can encounter cases where a `CHECK` assertion is invalidated based on user controlled arguments. This allows attackers to cause denial of services in TensorFlow processes.
### Patches
We have patched the issue in GitHub commit [14fea662350e7c26eb5fe1be2ac31704e5682ee6](https://github.com/tensorflow/tensorflow/com
ghsaosv
CVE-2021-41211P4HIGH≥ 2.6.0, < 2.6.12021-11-10
CVE-2021-41211 [HIGH] CWE-125 Heap OOB in shape inference for `QuantizeV2`
Heap OOB in shape inference for `QuantizeV2`
### Impact
The [shape inference code for `QuantizeV2`](https://github.com/tensorflow/tensorflow/blob/8d72537c6abf5a44103b57b9c2e22c14f5f49698/tensorflow/core/framework/common_shape_fns.cc#L2509-L2530) can trigger a read outside of bounds of heap allocated array:
```python
import tensorflow as tf
@tf.function
def test():
data=tf.raw_ops.QuantizeV2(
input=[1.0,1.0],
min_range=
ghsaosv
CVE-2022-23581P4MEDIUM≥ 0, < 2.5.3≥ 2.6.0, < 2.6.3+1 more2022-02-07
CVE-2022-23581 [MEDIUM] CWE-617 `CHECK`-failures during Grappler's `IsSimplifiableReshape` in Tensorflow
`CHECK`-failures during Grappler's `IsSimplifiableReshape` in Tensorflow
### Impact
The Grappler optimizer in TensorFlow can be used to cause a denial of service by altering a `SavedModel` such that [`IsSimplifiableReshape`](https://github.com/tensorflow/tensorflow/blob/a1320ec1eac186da1d03f033109191f715b2b130/tensorflow/core/grappler/optimizers/constant_folding.cc#L1687-L1742) would trigger
ghsaosv
CVE-2022-23589P4MEDIUM≥ 0, < 2.5.3≥ 2.6.0, < 2.6.3+1 more2022-02-09
CVE-2022-23589 [MEDIUM] CWE-476 Null pointer dereference in Grappler's `IsConstant`
Null pointer dereference in Grappler's `IsConstant`
### Impact
Under certain scenarios, Grappler component of TensorFlow can trigger a null pointer dereference. There are 2 places where this can occur, for the same malicious alteration of a `SavedModel` file (fixing the first one would trigger the same dereference in the second place):
First, during [constant folding](https://github.com/tensorflow/tensorflow/bl
ghsaosv
CVE-2022-23570P4HIGH≥ 0, < 2.5.3≥ 2.6.0, < 2.6.3+1 more2022-02-09
CVE-2022-23570 [HIGH] CWE-476 Null-dereference in Tensorflow
Null-dereference in Tensorflow
### Impact
When decoding a tensor from protobuf, TensorFlow might do a null-dereference if attributes of some mutable arguments to some operations are missing from the proto. This is [guarded by a `DCHECK`](https://github.com/tensorflow/tensorflow/blob/a1320ec1eac186da1d03f033109191f715b2b130/tensorflow/core/framework/full_type_util.cc#L104-L106):
```cc
const auto* attr = attrs.Find(arg->s());
DCHECK(at
ghsaosv
CVE-2022-23585P4MEDIUM≥ 0, < 2.5.3≥ 2.6.0, < 2.6.3+1 more2022-02-09
CVE-2022-23585 [MEDIUM] CWE-401 Memory leak in decoding PNG images
Memory leak in decoding PNG images
### Impact
When [decoding PNG images](https://github.com/tensorflow/tensorflow/blob/a1320ec1eac186da1d03f033109191f715b2b130/tensorflow/core/kernels/image/decode_image_op.cc#L322-L416) TensorFlow can produce a memory leak if the image is invalid.
After calling `png::CommonInitDecode(..., &decode)`, the `decode` value contains allocated buffers which can only be freed by calling `png::CommonFree
ghsaosv
CVE-2022-23583P4MEDIUM≥ 0, < 2.5.3≥ 2.6.0, < 2.6.3+1 more2022-02-10
CVE-2022-23583 [MEDIUM] CWE-617 `CHECK`-failures in binary ops in Tensorflow
`CHECK`-failures in binary ops in Tensorflow
### Impact
A malicious user can cause a denial of service by altering a `SavedModel` such that [any binary op](https://github.com/tensorflow/tensorflow/blob/a1320ec1eac186da1d03f033109191f715b2b130/tensorflow/core/kernels/cwise_ops_common.h#L88-L137) would trigger `CHECK` failures. This occurs when the protobuf part corresponding to the tensor arguments is modified such that
ghsaosv
CVE-2022-23588P4MEDIUM≥ 0, < 2.5.3≥ 2.6.0, < 2.6.3+1 more2022-02-09
CVE-2022-23588 [MEDIUM] CWE-617 `CHECK`-fails due to attempting to build a reference tensor
`CHECK`-fails due to attempting to build a reference tensor
### Impact
A malicious user can cause a denial of service by altering a `SavedModel` such that [Grappler optimizer would attempt to build a tensor using a reference `dtype`](https://github.com/tensorflow/tensorflow/blob/a1320ec1eac186da1d03f033109191f715b2b130/tensorflow/core/grappler/optimizers/constant_folding.cc#L1328-L1402). This would resul
ghsaosv
CVE-2022-23579P4MEDIUM≥ 0, < 2.5.3≥ 2.6.0, < 2.6.3+1 more2022-02-10
CVE-2022-23579 [MEDIUM] CWE-617 `CHECK`-failures during Grappler's `SafeToRemoveIdentity` in Tensorflow
`CHECK`-failures during Grappler's `SafeToRemoveIdentity` in Tensorflow
### Impact
The Grappler optimizer in TensorFlow can be used to cause a denial of service by altering a `SavedModel` such that [`SafeToRemoveIdentity`](https://github.com/tensorflow/tensorflow/blob/a1320ec1eac186da1d03f033109191f715b2b130/tensorflow/core/grappler/optimizers/dependency_optimizer.cc#L59-L98) would trigger `C
ghsaosv
CVE-2022-23580P4MEDIUM≥ 0, < 2.5.3≥ 2.6.0, < 2.6.3+1 more2022-02-07
CVE-2022-23580 [MEDIUM] CWE-1284 Abort caused by allocating a vector that is too large in Tensorflow
Abort caused by allocating a vector that is too large in Tensorflow
### Impact
During shape inference, TensorFlow can [allocate a large vector](https://github.com/tensorflow/tensorflow/blob/a1320ec1eac186da1d03f033109191f715b2b130/tensorflow/core/framework/shape_inference.cc#L788-L790) based on a value from a tensor controlled by the user:
```cc
const auto num_dims = Value(shape_dim);
std::vect
ghsaosv
CVE-2022-23586P4MEDIUM≥ 0, < 2.5.3≥ 2.6.0, < 2.6.3+1 more2022-02-09
CVE-2022-23586 [MEDIUM] CWE-617 Multiple `CHECK`-fails in `function.cc` in TensowFlow
Multiple `CHECK`-fails in `function.cc` in TensowFlow
### Impact
A malicious user can cause a denial of service by altering a `SavedModel` such that [assertions in `function.cc`](https://github.com/tensorflow/tensorflow/blob/a1320ec1eac186da1d03f033109191f715b2b130/tensorflow/core/framework/function.cc) would be falsified and crash the Python interpreter.
### Patches
We have patched the issue in GitHub commits
ghsaosv
CVE-2022-23576P4HIGH≥ 0, < 2.5.3≥ 2.6.0, < 2.6.3+1 more2022-02-10
CVE-2022-23576 [HIGH] CWE-190 Integer overflow in Tensorflow
Integer overflow in Tensorflow
### Impact
The [implementation of `OpLevelCostEstimator::CalculateOutputSize`](https://github.com/tensorflow/tensorflow/blob/a1320ec1eac186da1d03f033109191f715b2b130/tensorflow/core/grappler/costs/op_level_cost_estimator.cc#L1598-L1617) is vulnerable to an integer overflow if an attacker can create an operation which would involve tensors with large enough number of elements:
```cc
for (const auto& dim :
ghsaosv
CVE-2022-23577P4HIGH≥ 0, < 2.5.3≥ 2.6.0, < 2.6.3+1 more2022-02-10
CVE-2022-23577 [HIGH] CWE-476 Null-dereference in Tensorflow
Null-dereference in Tensorflow
### Impact
The [implementation of `GetInitOp`](https://github.com/tensorflow/tensorflow/blob/a1320ec1eac186da1d03f033109191f715b2b130/tensorflow/cc/saved_model/loader_util.cc#L31-L61) is vulnerable to a crash caused by dereferencing a null pointer:
```cc
const auto& init_op_sig_it =
meta_graph_def.signature_def().find(kSavedModelInitOpSignatureKey);
if (init_op_sig_it != sig_def_map.end()) {
*init_op_na
ghsaosv
CVE-2022-21735P4HIGH≥ 0, < 2.5.3≥ 2.6.0, < 2.6.3+1 more2022-02-10
CVE-2022-21735 [HIGH] CWE-369 Division by zero in Tensorflow
Division by zero in Tensorflow
### Impact
The [implementation of `FractionalMaxPool`](https://github.com/tensorflow/tensorflow/blob/5100e359aef5c8021f2e71c7b986420b85ce7b3d/tensorflow/core/kernels/fractional_max_pool_op.cc#L36-L192) can be made to crash a TensorFlow process via a division by 0:
```python
import tensorflow as tf
import numpy as np
tf.raw_ops.FractionalMaxPool(
value=tf.constant(value=[[[[1, 4, 2, 3]]]], dtype=tf.int6
ghsaosv
CVE-2022-21734P4HIGH≥ 0, < 2.5.3≥ 2.6.0, < 2.6.3+1 more2022-02-10
CVE-2022-21734 [HIGH] CWE-617 `CHECK`-failures in Tensorflow
`CHECK`-failures in Tensorflow
### Impact
The [implementation of `MapStage`](https://github.com/tensorflow/tensorflow/blob/5100e359aef5c8021f2e71c7b986420b85ce7b3d/tensorflow/core/kernels/map_stage_op.cc#L519-L550) is vulnerable a `CHECK`-fail if the key tensor is not a scalar:
```python
import tensorflow as tf
import numpy as np
tf.raw_ops.MapStage(
key = tf.constant(value=[4], shape= (1,2), dtype=tf.int64),
indices = np.array([[6]
ghsaosv
CVE-2022-23575P4HIGH≥ 0, < 2.5.3≥ 2.6.0, < 2.6.3+1 more2022-02-10
CVE-2022-23575 [HIGH] CWE-190 Integer overflow in Tensorflow
Integer overflow in Tensorflow
### Impact
The [implementation of `OpLevelCostEstimator::CalculateTensorSize`](https://github.com/tensorflow/tensorflow/blob/a1320ec1eac186da1d03f033109191f715b2b130/tensorflow/core/grappler/costs/op_level_cost_estimator.cc#L1552-L1558) is vulnerable to an integer overflow if an attacker can create an operation which would involve a tensor with large enough number of elements:
```cc
int64_t OpLevelCostEs
ghsaosv
CVE-2022-23582P4MEDIUM≥ 0, < 2.5.3≥ 2.6.0, < 2.6.3+1 more2022-02-10
CVE-2022-23582 [MEDIUM] CWE-617 `CHECK`-failures in `TensorByteSize` in Tensorflow
`CHECK`-failures in `TensorByteSize` in Tensorflow
### Impact
A malicious user can cause a denial of service by altering a `SavedModel` such that [`TensorByteSize`](https://github.com/tensorflow/tensorflow/blob/a1320ec1eac186da1d03f033109191f715b2b130/tensorflow/core/framework/attr_value_util.cc#L46-L50) would trigger `CHECK` failures.
```cc
int64_t TensorByteSize(const TensorProto& t) {
// num_elements returns
ghsaosv
CVE-2022-21737P4HIGH≥ 0, < 2.5.3≥ 2.6.0, < 2.6.3+1 more2022-02-09
CVE-2022-21737 [HIGH] CWE-617 Assertion failure based denial of service in Tensorflow
Assertion failure based denial of service in Tensorflow
### Impact
The [implementation of `*Bincount` operations](https://github.com/tensorflow/tensorflow/blob/5100e359aef5c8021f2e71c7b986420b85ce7b3d/tensorflow/core/kernels/bincount_op.cc) allows malicious users to cause denial of service by passing in arguments which would trigger a `CHECK`-fail:
```python
import tensorflow as tf
tf.raw_ops.DenseBincount(
ghsaosv
CVE-2022-23595P4MEDIUM≥ 0, < 2.5.3≥ 2.6.0, < 2.6.3+1 more2022-02-09
CVE-2022-23595 [MEDIUM] CWE-476 Null pointer dereference in TensorFlow
Null pointer dereference in TensorFlow
### Impact
When [building an XLA compilation cache](https://github.com/tensorflow/tensorflow/blob/274df9b02330b790aa8de1cee164b70f72b9b244/tensorflow/compiler/jit/xla_platform_info.cc#L43-L104), if default settings are used, TensorFlow triggers a null pointer dereference:
```cc
string allowed_gpus =
flr->config_proto()->gpu_options().visible_device_list();
```
In the default scenario,
ghsaosv
CVE-2022-21736P4HIGH≥ 0, < 2.5.3≥ 2.6.0, < 2.6.3+1 more2022-02-09
CVE-2022-21736 [HIGH] CWE-476 Undefined behavior in `SparseTensorSliceDataset`
Undefined behavior in `SparseTensorSliceDataset`
### Impact
The [implementation of `SparseTensorSliceDataset`](https://github.com/tensorflow/tensorflow/blob/5100e359aef5c8021f2e71c7b986420b85ce7b3d/tensorflow/core/kernels/data/sparse_tensor_slice_dataset_op.cc#L227-L292) has an undefined behavior: under certain condition it can be made to dereference a `nullptr` value:
```python
import tensorflow as tf
import numpy
ghsaosv