cbcvebase.

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 15 of 22
CVE-2021-41212P4HIGH≥ 2.6.0, < 2.6.1≥ 2.5.0, < 2.5.2+1 more2021-11-10
CVE-2021-41212 [HIGH] CWE-125 Heap OOB read in `tf.ragged.cross` Heap OOB read 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) can trigger a read outside of bounds of heap allocated array: ```python import tensorflow as tf @tf.function def test(): y = tf.raw_ops.RaggedCross(ragged_values=[], ragged_row_splits=[], sparse_indices=[[
ghsaosv
CVE-2021-41224P4MEDIUM≥ 2.6.0, < 2.6.1≥ 2.5.0, < 2.5.2+1 more2021-11-10
CVE-2021-41224 [MEDIUM] CWE-125 `SparseFillEmptyRows` heap OOB `SparseFillEmptyRows` heap OOB ### Impact The [implementation](https://github.com/tensorflow/tensorflow/blob/e71b86d47f8bc1816bf54d7bddc4170e47670b97/tensorflow/core/kernels/sparse_fill_empty_rows_op.cc#L194-L241) of `SparseFillEmptyRows` can be made to trigger a heap OOB access: ```python import tensorflow as tf data=tf.raw_ops.SparseFillEmptyRows( indices=[[0,0],[0,0],[0,0]], values=['ssssssssssssssssssssssssssssssssssssssssssss
ghsaosv
CVE-2021-29569P4LOW≥ 0, < 2.1.4≥ 2.2.0, < 2.2.3+2 more2021-05-21
CVE-2021-29569 [LOW] CWE-125 Heap out of bounds read in `RequantizationRange` Heap out of bounds read in `RequantizationRange` ### Impact The implementation of `tf.raw_ops.MaxPoolGradWithArgmax` can cause reads outside of bounds of heap allocated data if attacker supplies specially crafted inputs: ```python import tensorflow as tf input = tf.constant([1], shape=[1], dtype=tf.qint32) input_max = tf.constant([], dtype=tf.float32) input_min = tf.constant([], dtype=tf.float32) tf.raw_ops.Requant
ghsaosv
CVE-2021-29559P4LOW≥ 0, < 2.1.4≥ 2.2.0, < 2.2.3+2 more2021-05-21
CVE-2021-29559 [LOW] CWE-125 Heap OOB access in unicode ops Heap OOB access in unicode ops ### Impact An attacker can access data outside of bounds of heap allocated array in `tf.raw_ops.UnicodeEncode`: ```python import tensorflow as tf input_values = tf.constant([58], shape=[1], dtype=tf.int32) input_splits = tf.constant([[81, 101, 0]], shape=[3], dtype=tf.int32) output_encoding = "UTF-8" tf.raw_ops.UnicodeEncode( input_values=input_values, input_splits=input_splits, output_encoding=output_
ghsaosv
CVE-2021-29582P4LOW≥ 0, < 2.1.4≥ 2.2.0, < 2.2.3+2 more2021-05-21
CVE-2021-29582 [LOW] CWE-125 Heap OOB read in `tf.raw_ops.Dequantize` Heap OOB read in `tf.raw_ops.Dequantize` ### Impact Due to lack of validation in `tf.raw_ops.Dequantize`, an attacker can trigger a read from outside of bounds of heap allocated data: ```python import tensorflow as tf input_tensor=tf.constant( [75, 75, 75, 75, -6, -9, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,\ -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10,\ -10, -10, -10, -10, -10, -10, -
ghsaosv
CVE-2021-37682P4MEDIUM≥ 0, < 2.3.4≥ 2.4.0, < 2.4.3+1 more2021-08-25
CVE-2021-37682 [MEDIUM] CWE-908 Use of unitialized value in TFLite Use of unitialized value in TFLite ### Impact All TFLite operations that use quantization can be made to use unitialized values. [For example](https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/lite/kernels/depthwise_conv.cc#L198-L200): ```cc const auto* affine_quantization = reinterpret_cast( filter->quantization.params); ``` The issue stems from the fact that `quantization.param
ghsaosv
CVE-2021-37641P4MEDIUM≥ 0, < 2.3.4≥ 2.4.0, < 2.4.3+1 more2021-08-25
CVE-2021-37641 [MEDIUM] CWE-125 Heap OOB in `RaggedGather` Heap OOB in `RaggedGather` ### Impact If the arguments to `tf.raw_ops.RaggedGather` don't determine a valid ragged tensor code can trigger a read from outside of bounds of heap allocated buffers. ```python import tensorflow as tf tf.raw_ops.RaggedGather( params_nested_splits = [0,0,0], params_dense_values = [1,1], indices = [0,0,9,0,0], OUTPUT_RAGGED_RANK=0) ``` In debug mode, the same code triggers a `CHECK` failure. The [implement
ghsaosv
CVE-2021-41210P4HIGH≥ 2.6.0, < 2.6.1≥ 2.5.0, < 2.5.2+1 more2021-11-10
CVE-2021-41210 [HIGH] CWE-125 Heap OOB read in `tf.raw_ops.SparseCountSparseOutput` Heap OOB read in `tf.raw_ops.SparseCountSparseOutput` ### Impact The [shape inference functions for `SparseCountSparseOutput`](https://github.com/tensorflow/tensorflow/blob/e0b6e58c328059829c3eb968136f17aa72b6c876/tensorflow/core/ops/count_ops.cc#L43-L50) can trigger a read outside of bounds of heap allocated array: ```python import tensorflow as tf @tf.function def func(): return tf.raw_ops.SparseCountSparseO
ghsaosv
CVE-2021-41205P4MEDIUM≥ 2.6.0, < 2.6.1≥ 2.5.0, < 2.5.2+1 more2021-11-10
CVE-2021-41205 [MEDIUM] CWE-125 Heap OOB read in all `tf.raw_ops.QuantizeAndDequantizeV*` ops Heap OOB read in all `tf.raw_ops.QuantizeAndDequantizeV*` ops ### Impact The [shape inference functions for the `QuantizeAndDequantizeV*` operations](https://github.com/tensorflow/tensorflow/blob/8d72537c6abf5a44103b57b9c2e22c14f5f49698/tensorflow/core/ops/array_ops.cc) can trigger a read outside of bounds of heap allocated array as illustrated in the following sets of PoCs: ```python import tensorflo
ghsaosv
CVE-2020-15199P4HIGH≥ 2.3.0, < 2.3.12020-09-25
CVE-2020-15199 [HIGH] CWE-20 Denial of Service in Tensorflow Denial of Service in Tensorflow ### Impact The `RaggedCountSparseOutput` does not validate that the input arguments form a valid ragged tensor. In particular, there is no validation that the `splits` tensor has the minimum required number of elements. Code uses this quantity to initialize a different data structure: https://github.com/tensorflow/tensorflow/blob/0e68f4d3295eb0281a517c3662f6698992b7b2cf/tensorflow/core/kernels/count_ops
ghsaosv
CVE-2020-15209P4HIGH≥ 0, < 1.15.4≥ 2.0.0, < 2.0.3+3 more2020-09-25
CVE-2020-15209 [HIGH] CWE-476 Null pointer dereference in tensorflow-lite Null pointer dereference in tensorflow-lite ### Impact A crafted TFLite model can force a node to have as input a tensor backed by a `nullptr` buffer. This can be achieved by changing a buffer index in the flatbuffer serialization to convert a read-only tensor to a read-write one. The runtime assumes that these buffers are written to before a possible read, hence they are initialized with `nullptr`: https://github.com/ten
ghsaosv
CVE-2021-29601P4MEDIUM≥ 0, < 2.1.4≥ 2.2.0, < 2.2.3+2 more2021-05-21
CVE-2021-29601 [MEDIUM] CWE-190 Integer overflow in TFLite concatentation Integer overflow in TFLite concatentation ### Impact The TFLite implementation of concatenation is [vulnerable to an integer overflow issue](https://github.com/tensorflow/tensorflow/blob/7b7352a724b690b11bfaae2cd54bc3907daf6285/tensorflow/lite/kernels/concatenation.cc#L70-L76): ```cc for (int d = 0; d dims->size; ++d) { if (d == axis) { sum_axis += t->dims->data[axis]; } else { TF_LITE_ENSURE_EQ(context, t->dims->data[d]
ghsaosv
CVE-2021-37690P4MEDIUM≥ 0, < 2.3.4≥ 2.4.0, < 2.4.3+1 more2021-08-25
CVE-2021-37690 [MEDIUM] CWE-416 Use after free and segfault in shape inference functions Use after free and segfault in shape inference functions ### Impact When running shape functions, some functions (such as `MutableHashTableShape`) produce extra output information in the form of a `ShapeAndType` struct. The shapes embedded in this struct are owned by an inference context that is cleaned up almost immediately; if the upstream code attempts to access this shape information, it can trigger a s
ghsaosv
CVE-2020-15194P4MEDIUM≥ 0, < 1.15.4≥ 2.0.0, < 2.0.3+3 more2020-09-25
CVE-2020-15194 [MEDIUM] CWE-20 Denial of Service in Tensorflow Denial of Service in Tensorflow ### Impact The `SparseFillEmptyRowsGrad` implementation has incomplete validation of the shapes of its arguments: https://github.com/tensorflow/tensorflow/blob/0e68f4d3295eb0281a517c3662f6698992b7b2cf/tensorflow/core/kernels/sparse_fill_empty_rows_op.cc#L235-L241 Although `reverse_index_map_t` and `grad_values_t` are accessed in a similar pattern, only `reverse_index_map_t` is validated to be of prop
ghsaosv
CVE-2020-15198P4MEDIUM≥ 2.3.0, < 2.3.12020-09-25
CVE-2020-15198 [MEDIUM] CWE-119 Heap buffer overflow in Tensorflow Heap buffer overflow in Tensorflow ### Impact The `SparseCountSparseOutput` implementation does not validate that the input arguments form a valid sparse tensor. In particular, there is no validation that the `indices` tensor has the same shape as the `values` one. The values in these tensors are always accessed in parallel: https://github.com/tensorflow/tensorflow/blob/0e68f4d3295eb0281a517c3662f6698992b7b2cf/tensorflow/core/ke
ghsaosv
CVE-2021-41227P4MEDIUM≥ 2.6.0, < 2.6.1≥ 2.5.0, < 2.5.2+1 more2021-11-10
CVE-2021-41227 [MEDIUM] CWE-125 Arbitrary memory read in `ImmutableConst` Arbitrary memory read in `ImmutableConst` ### Impact The `ImmutableConst` operation in TensorFlow can be tricked into reading arbitrary memory contents: ```python import tensorflow as tf with open('/tmp/test','wb') as f: f.write(b'\xe2'*128) data = tf.raw_ops.ImmutableConst(dtype=tf.string,shape=3,memory_region_name='/tmp/test') print(data) ``` This is because the `tstring` TensorFlow string class has a special case f
ghsaosv
CVE-2021-37687P4MEDIUM≥ 0, < 2.3.4≥ 2.4.0, < 2.4.3+1 more2021-08-25
CVE-2021-37687 [MEDIUM] CWE-125 Heap OOB in TFLite's `Gather*` implementations Heap OOB in TFLite's `Gather*` implementations ### Impact TFLite's [`GatherNd` implementation](https://github.com/tensorflow/tensorflow/blob/149562d49faa709ea80df1d99fc41d005b81082a/tensorflow/lite/kernels/gather_nd.cc#L124) does not support negative indices but there are no checks for this situation. Hence, an attacker can read arbitrary data from the heap by carefully crafting a model with negative values in `indi
ghsaosv
CVE-2020-15204P4MEDIUM≥ 0, < 1.15.4≥ 2.0.0, < 2.0.3+3 more2020-09-25
CVE-2020-15204 [MEDIUM] CWE-476 Segfault in Tensorflow Segfault in Tensorflow ### Impact In eager mode, TensorFlow does not set the session state. Hence, calling `tf.raw_ops.GetSessionHandle` or `tf.raw_ops.GetSessionHandleV2` results in a null pointer dereference: https://github.com/tensorflow/tensorflow/blob/0e68f4d3295eb0281a517c3662f6698992b7b2cf/tensorflow/core/kernels/session_ops.cc#L45 In the above snippet, in eager mode, `ctx->session_state()` returns `nullptr`. Since code immediately
ghsaosv
CVE-2021-37643P4HIGH≥ 0, < 2.3.4≥ 2.4.0, < 2.4.3+1 more2021-08-25
CVE-2021-37643 [HIGH] CWE-476 Null pointer dereference in `MatrixDiagPartOp` Null pointer dereference in `MatrixDiagPartOp` ### Impact If a user does not provide a valid padding value to `tf.raw_ops.MatrixDiagPartOp`, then the code triggers a null pointer dereference (if input is empty) or produces invalid behavior, ignoring all values after the first: ```python import tensorflow as tf tf.raw_ops.MatrixDiagPartV2( input=tf.ones(2,dtype=tf.int32), k=tf.ones(2,dtype=tf.int32), padding_value=[])
ghsaosv
CVE-2020-15190P4MEDIUM≥ 0, < 1.15.4≥ 2.0.0, < 2.0.3+3 more2020-09-25
CVE-2020-15190 [MEDIUM] CWE-20 Segfault in Tensorflow Segfault in Tensorflow ### Impact The [`tf.raw_ops.Switch`](https://www.tensorflow.org/api_docs/python/tf/raw_ops/Switch) operation takes as input a tensor and a boolean and outputs two tensors. Depending on the boolean value, one of the tensors is exactly the input tensor whereas the other one should be an empty tensor. However, the eager runtime traverses all tensors in the output: https://github.com/tensorflow/tensorflow/blob/0e68f4d3295
ghsaosv
Intel Optimization For Tensorflow vulnerabilities | cvebase