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 8 of 22
CVE-2022-23583MEDIUM≥ 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-21732MEDIUM≥ 0, < 2.5.3≥ 2.6.0, < 2.6.3+1 more2022-02-10
CVE-2022-21732 [MEDIUM] CWE-400 Memory exhaustion in Tensorflow
Memory exhaustion in Tensorflow
### Impact
The [implementation of `ThreadPoolHandle`](https://github.com/tensorflow/tensorflow/blob/5100e359aef5c8021f2e71c7b986420b85ce7b3d/tensorflow/core/kernels/data/experimental/threadpool_dataset_op.cc#L79-L135) can be used to trigger a denial of service attack by allocating too much memory:
```python
import tensorflow as tf
y = tf.raw_ops.ThreadPoolHandle(num_threads=0x60000000,display_name='
ghsaosv
CVE-2022-23579MEDIUM≥ 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-21733MEDIUM≥ 0, < 2.5.3≥ 2.6.0, < 2.6.3+1 more2022-02-10
CVE-2022-21733 [MEDIUM] CWE-190 Memory exhaustion in Tensorflow
Memory exhaustion in Tensorflow
### Impact
The [implementation of `StringNGrams`](https://github.com/tensorflow/tensorflow/blob/5100e359aef5c8021f2e71c7b986420b85ce7b3d/tensorflow/core/kernels/string_ngrams_op.cc#L29-L161) can be used to trigger a denial of service attack by causing an OOM condition after an integer overflow:
```python
import tensorflow as tf
tf.raw_ops.StringNGrams(
data=['123456'],
data_splits=[0,1],
separator=
ghsaosv
CVE-2022-21725MEDIUM≥ 0, < 2.5.3≥ 2.6.0, < 2.6.3+1 more2022-02-10
CVE-2022-21725 [MEDIUM] CWE-369 Division by zero in Tensorflow
Division by zero in Tensorflow
### Impact
The [estimator for the cost of some convolution operations](https://github.com/tensorflow/tensorflow/blob/ffa202a17ab7a4a10182b746d230ea66f021fe16/tensorflow/core/grappler/costs/op_level_cost_estimator.cc#L189-L198) can be made to execute a division by 0:
```python
import tensorflow as tf
@tf.function
def test():
y=tf.raw_ops.AvgPoolGrad(
orig_input_shape=[1,1,1,1],
grad=[[[[1.0],[1.0],[1.
ghsaosv
CVE-2022-23578MEDIUM≥ 0, < 2.5.3≥ 2.6.0, < 2.6.3+1 more2022-02-10
CVE-2022-23578 [MEDIUM] CWE-401 Memory leak in Tensorflow
Memory leak in Tensorflow
### Impact
If a graph node is invalid, TensorFlow can leak memory in the [implementation of `ImmutableExecutorState::Initialize`](https://github.com/tensorflow/tensorflow/blob/a1320ec1eac186da1d03f033109191f715b2b130/tensorflow/core/common_runtime/immutable_executor_state.cc#L84-L262):
```cc
Status s = params_.create_kernel(n->properties(), &item->kernel);
if (!s.ok()) {
item->kernel = nullptr;
s = AttachDef(s,
ghsaosv
CVE-2022-23582MEDIUM≥ 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-21728HIGH≥ 0, < 2.5.3≥ 2.6.0, < 2.6.3+1 more2022-02-09
CVE-2022-21728 [HIGH] CWE-125 Out of bounds read in Tensorflow
Out of bounds read in Tensorflow
### Impact
The [implementation of shape inference for `ReverseSequence`](https://github.com/tensorflow/tensorflow/blob/5100e359aef5c8021f2e71c7b986420b85ce7b3d/tensorflow/core/ops/array_ops.cc#L1636-L1671) does not fully validate the value of `batch_dim` and can result in a heap OOB read:
```python
import tensorflow as tf
@tf.function
def test():
y = tf.raw_ops.ReverseSequence(
input = ['aaa','bbb'
ghsaosv
CVE-2022-23572HIGH≥ 0, < 2.5.3≥ 2.6.0, < 2.6.3+1 more2022-02-09
CVE-2022-23572 [HIGH] CWE-617 Crash when type cannot be specialized in Tensorflow
Crash when type cannot be specialized in Tensorflow
### Impact
Under certain scenarios, TensorFlow can fail to specialize a type during [shape inference](https://github.com/tensorflow/tensorflow/blob/a1320ec1eac186da1d03f033109191f715b2b130/tensorflow/core/framework/shape_inference.cc#L168-L174):
```cc
void InferenceContext::PreInputInit(
const OpDef& op_def, const std::vector& input_tensors,
const std::vector& i
ghsaosv
CVE-2022-23592HIGH≥ 2.8.0-rc0, < 2.8.02022-02-09
CVE-2022-23592 [HIGH] CWE-125 Out of bounds read in Tensorflow
Out of bounds read in Tensorflow
### Impact
TensorFlow's [type inference](https://github.com/tensorflow/tensorflow/blob/274df9b02330b790aa8de1cee164b70f72b9b244/tensorflow/core/graph/graph.cc#L223-L229) can cause a heap OOB read as the bounds checking is done in a `DCHECK` (which is a no-op during production):
```cc
if (node_t.type_id() != TFT_UNSET) {
int ix = input_idx[i];
DCHECK(ix < node_t.args_size())
<< "input " << i << " sho
ghsaosv
CVE-2022-21740HIGH≥ 0, < 2.5.3≥ 2.6.0, < 2.6.3+1 more2022-02-09
CVE-2022-21740 [HIGH] CWE-120 Heap overflow in Tensorflow
Heap overflow in Tensorflow
### Impact
The [implementation of `SparseCountSparseOutput`](https://github.com/tensorflow/tensorflow/blob/5100e359aef5c8021f2e71c7b986420b85ce7b3d/tensorflow/core/kernels/count_ops.cc#L168-L273) is vulnerable to a heap overflow:
```python
import tensorflow as tf
import numpy as np
tf.raw_ops.SparseCountSparseOutput(
indices=[[-1,-1]],
values=[2],
dense_shape=[1, 1],
weights=[1],
binary_output=True,
minlengt
ghsaosv
CVE-2022-21730HIGH≥ 0, < 2.5.3≥ 2.6.0, < 2.6.3+1 more2022-02-09
CVE-2022-21730 [HIGH] CWE-125 Out of bounds read in Tensorflow
Out of bounds read in Tensorflow
### Impact
The [implementation of `FractionalAvgPoolGrad`](https://github.com/tensorflow/tensorflow/blob/5100e359aef5c8021f2e71c7b986420b85ce7b3d/tensorflow/core/kernels/fractional_avg_pool_op.cc#L209-L360) does not consider cases where the input tensors are invalid allowing an attacker to read from outside of bounds of heap:
```python
import tensorflow as tf
@tf.function
def test():
y = tf.raw_ops
ghsaosv
CVE-2022-23558HIGH≥ 0, < 2.5.3≥ 2.6.0, < 2.6.3+1 more2022-02-09
CVE-2022-23558 [HIGH] CWE-190 Integer overflow in TFLite array creation
Integer overflow in TFLite array creation
### Impact
An attacker can craft a TFLite model that would cause an integer overflow [in `TfLiteIntArrayCreate`](https://github.com/tensorflow/tensorflow/blob/ca6f96b62ad84207fbec580404eaa7dd7403a550/tensorflow/lite/c/common.c#L53-L60):
```cc
TfLiteIntArray* TfLiteIntArrayCreate(int size) {
int alloc_size = TfLiteIntArrayGetSizeInBytes(size);
// ...
TfLiteIntArray* ret = (TfLiteInt
ghsaosv
CVE-2022-23566HIGH≥ 0, < 2.5.3≥ 2.6.0, < 2.6.3+1 more2022-02-09
CVE-2022-23566 [HIGH] CWE-787 Out of bounds write in Tensorflow
Out of bounds write in Tensorflow
### Impact
TensorFlow is vulnerable to a heap OOB write in [Grappler](https://github.com/tensorflow/tensorflow/blob/a1320ec1eac186da1d03f033109191f715b2b130/tensorflow/core/grappler/costs/graph_properties.cc#L1132-L1141):
```cc
Status SetUnknownShape(const NodeDef* node, int output_port) {
shape_inference::ShapeHandle shape =
GetUnknownOutputShape(node, output_port);
InferenceContext* ctx = GetCon
ghsaosv
CVE-2022-23562HIGH≥ 0, < 2.5.3≥ 2.6.0, < 2.6.3+1 more2022-02-09
CVE-2022-23562 [HIGH] CWE-190 Integer overflow in Tensorflow
Integer overflow in Tensorflow
### Impact
The implementation of `Range` suffers from integer overflows. These can trigger undefined behavior or, in some scenarios, extremely large allocations.
### Patches
We have patched the issue in GitHub commit [f0147751fd5d2ff23251149ebad9af9f03010732](https://github.com/tensorflow/tensorflow/commit/f0147751fd5d2ff23251149ebad9af9f03010732) (merging [#51733](https://github.com/tensorflow/tensorfl
ghsaosv
CVE-2022-23559HIGH≥ 0, < 2.5.3≥ 2.6.0, < 2.6.3+1 more2022-02-09
CVE-2022-23559 [HIGH] CWE-190 Integer overflow in TFLite
Integer overflow in TFLite
### Impact
An attacker can craft a TFLite model that would cause an integer overflow [in embedding lookup operations](https://github.com/tensorflow/tensorflow/blob/ca6f96b62ad84207fbec580404eaa7dd7403a550/tensorflow/lite/kernels/embedding_lookup_sparse.cc#L179-L189):
```cc
int embedding_size = 1;
int lookup_size = 1;
for (int i = 0; i data.i32[i];
lookup_size *= dim;
output_shape->data[k] = dim;
}
for (int i =
ghsaosv
CVE-2022-23563HIGH≥ 0, < 2.5.3≥ 2.6.0, < 2.6.3+1 more2022-02-09
CVE-2022-23563 [HIGH] CWE-367 Insecure temporary file in Tensorflow
Insecure temporary file in Tensorflow
### Impact
In multiple places, TensorFlow uses `tempfile.mktemp` to create temporary files. While this is acceptable in testing, in utilities and libraries it is dangerous as a different process can create the file between the check for the filename in `mktemp` and the actual creation of the file by a subsequent operation (a TOC/TOU type of weakness).
In several instances, TensorFlow was s
ghsaosv
CVE-2022-23561HIGH≥ 0, < 2.5.3≥ 2.6.0, < 2.6.3+1 more2022-02-09
CVE-2022-23561 [HIGH] CWE-787 Out of bounds write in TFLite
Out of bounds write in TFLite
### Impact
An attacker can craft a TFLite model that would cause a write outside of bounds of an array in TFLite. In fact, the attacker can override the linked list used by the memory allocator. This can be leveraged for an arbitrary write primitive under certain conditions.
### Patches
We have patched the issue in GitHub commit [6c0b2b70eeee588591680f5b7d5d38175fd7cdf6](https://github.com/tensorflow/tens
ghsaosv
CVE-2022-23570HIGH≥ 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-21727HIGH≥ 0, < 2.5.3≥ 2.6.0, < 2.6.3+1 more2022-02-09
CVE-2022-21727 [HIGH] CWE-190 Integer overflow in Tensorflow
Integer overflow in Tensorflow
### Impact
The [implementation of shape inference for `Dequantize`](https://github.com/tensorflow/tensorflow/blob/5100e359aef5c8021f2e71c7b986420b85ce7b3d/tensorflow/core/ops/array_ops.cc#L3001-L3034) is vulnerable to an integer overflow weakness:
```python
import tensorflow as tf
input = tf.constant([1,1],dtype=tf.qint32)
@tf.function
def test():
y = tf.raw_ops.Dequantize(
input=input,
min_range=[1.0
ghsaosv