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-2021-37679HIGH≥ 0, < 2.3.4≥ 2.4.0, < 2.4.3+1 more2021-08-25
CVE-2021-37679 [HIGH] CWE-125 Heap OOB in nested `tf.map_fn` with `RaggedTensor`s Heap OOB in nested `tf.map_fn` with `RaggedTensor`s ### Impact It is possible to nest a `tf.map_fn` within another `tf.map_fn` call. However, if the input tensor is a `RaggedTensor` and there is no function signature provided, code assumes the output is a fully specified tensor and fills output buffer with uninitialized contents from the heap: ```python import tensorflow as tf x = tf.ragged.constant([[1,2,3], [4,
ghsaosv
CVE-2021-37655HIGH≥ 0, < 2.3.4≥ 2.4.0, < 2.4.3+1 more2021-08-25
CVE-2021-37655 [HIGH] CWE-125 Heap OOB in `ResourceScatterUpdate` Heap OOB in `ResourceScatterUpdate` ### Impact An attacker can trigger a read from outside of bounds of heap allocated data by sending invalid arguments to `tf.raw_ops.ResourceScatterUpdate`: ```python import tensorflow as tf v = tf.Variable([b'vvv']) tf.raw_ops.ResourceScatterUpdate( resource=v.handle, indices=[0], updates=['1', '2', '3', '4', '5']) ``` The [implementation](https://github.com/tensorflow/tensorflow/blob/f24faa
ghsaosv
CVE-2021-37666HIGH≥ 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-37635HIGH≥ 0, < 2.3.4≥ 2.4.0, < 2.4.3+1 more2021-08-25
CVE-2021-37635 [HIGH] CWE-125 Heap out of bounds access in sparse reduction operations Heap out of bounds access in sparse reduction operations ### Impact The implementation of sparse reduction operations in TensorFlow can trigger accesses outside of bounds of heap allocated data: ```python import tensorflow as tf x = tf.SparseTensor( indices=[[773, 773, 773], [773, 773, 773]], values=[1, 1], dense_shape=[337, 337, 337]) tf.sparse.reduce_sum(x, 1) ``` The [implementation](https://github.com/
ghsaosv
CVE-2021-37637HIGH≥ 0, < 2.3.4≥ 2.4.0, < 2.4.3+1 more2021-08-25
CVE-2021-37637 [HIGH] CWE-476 Null pointer dereference in `CompressElement` Null pointer dereference in `CompressElement` ### Impact It is possible to trigger a null pointer dereference in TensorFlow by passing an invalid input to `tf.raw_ops.CompressElement`: ```python import tensorflow as tf tf.raw_ops.CompressElement(components=[[]]) ``` The [implementation](https://github.com/tensorflow/tensorflow/blob/47a06f40411a69c99f381495f490536972152ac0/tensorflow/core/data/compression_utils.cc#L34
ghsaosv
CVE-2021-37674HIGHCVSS 7.8≥ 0, < 2.3.4≥ 2.4.0, < 2.4.3+1 more2021-08-25
CVE-2021-37674 [HIGH] CWE-1284 Incomplete validation in `MaxPoolGrad` Incomplete validation in `MaxPoolGrad` ### Impact An attacker can trigger a denial of service via a segmentation fault in `tf.raw_ops.MaxPoolGrad` caused by missing validation: ```python import tensorflow as tf tf.raw_ops.MaxPoolGrad( orig_input = tf.constant([], shape=[3, 0, 0, 2], dtype=tf.float32), orig_output = tf.constant([], shape=[3, 0, 0, 2], dtype=tf.float32), grad = tf.constant([], shape=[3, 0, 0, 2], dtype=tf.flo
ghsaosv
CVE-2021-37667HIGH≥ 0, < 2.3.4≥ 2.4.0, < 2.4.3+1 more2021-08-25
CVE-2021-37667 [HIGH] CWE-824 Reference binding to nullptr in unicode encoding Reference binding to nullptr in unicode encoding ### Impact An attacker can cause undefined behavior via binding a reference to null pointer in `tf.raw_ops.UnicodeEncode`: ```python import tensorflow as tf from tensorflow.python.ops import gen_string_ops gen_string_ops.unicode_encode( input_values=[], input_splits=[], output_encoding='UTF-8', errors='ignore', replacement_char='a') ``` The [implementation](https://
ghsaosv
CVE-2021-37647HIGH≥ 0, < 2.3.4≥ 2.4.0, < 2.4.3+1 more2021-08-25
CVE-2021-37647 [HIGH] CWE-476 Null pointer dereference in `SparseTensorSliceDataset` Null pointer dereference in `SparseTensorSliceDataset` ### Impact When a user does not supply arguments that determine a valid sparse tensor, `tf.raw_ops.SparseTensorSliceDataset` implementation can be made to dereference a null pointer: ```python import tensorflow as tf tf.raw_ops.SparseTensorSliceDataset( indices=[[],[],[]], values=[1,2,3], dense_shape=[3,3]) ``` The [implementation](https://github.com/ten
ghsaosv
CVE-2021-37659HIGH≥ 0, < 2.3.4≥ 2.4.0, < 2.4.3+1 more2021-08-25
CVE-2021-37659 [HIGH] CWE-125 Reference binding to nullptr and heap OOB in binary cwise ops Reference binding to nullptr and heap OOB in binary cwise ops ### Impact An attacker can cause undefined behavior via binding a reference to null pointer in all binary cwise operations that don't require broadcasting (e.g., gradients of binary cwise operations): ```python import tensorflow as tf tf.raw_ops.SqrtGrad(y=[4, 16],dy=[]) ``` The [implementation](https://github.com/tensorflow/tensorflow/blob
ghsaosv
CVE-2021-37663HIGH≥ 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-37658MEDIUM≥ 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-37691MEDIUM≥ 0, < 2.3.4≥ 2.4.0, < 2.4.3+1 more2021-08-25
CVE-2021-37691 [MEDIUM] CWE-369 FPE in LSH in TFLite FPE in LSH in TFLite ### Impact An attacker can craft a TFLite model that would trigger a division by zero error in LSH [implementation](https://github.com/tensorflow/tensorflow/blob/149562d49faa709ea80df1d99fc41d005b81082a/tensorflow/lite/kernels/lsh_projection.cc#L118). ```cc int RunningSignBit(const TfLiteTensor* input, const TfLiteTensor* weight, float seed) { int input_item_bytes = input->bytes / SizeOfDimension(input, 0); // ... } ```
ghsaosv
CVE-2021-37682MEDIUM≥ 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-37672MEDIUM≥ 0, < 2.3.4≥ 2.4.0, < 2.4.3+1 more2021-08-25
CVE-2021-37672 [MEDIUM] CWE-125 Heap OOB in `SdcaOptimizerV2` Heap OOB in `SdcaOptimizerV2` ### Impact An attacker can read from outside of bounds of heap allocated data by sending specially crafted illegal arguments to `tf.raw_ops.SdcaOptimizerV2`: ```python import tensorflow as tf tf.raw_ops.SdcaOptimizerV2( sparse_example_indices=[[1]], sparse_feature_indices=[[1]], sparse_feature_values=[[1.0,2.0]], dense_features=[[1.0]], example_weights=[1.0], example_labels=[], sparse_indices=[1], spar
ghsaosv
CVE-2021-37687MEDIUM≥ 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-2021-37662MEDIUM≥ 0, < 2.3.4≥ 2.4.0, < 2.4.3+1 more2021-08-25
CVE-2021-37662 [MEDIUM] CWE-824 Reference binding to nullptr in boosted trees Reference binding to nullptr in boosted trees ### Impact An attacker can generate undefined behavior via a reference binding to nullptr in `BoostedTreesCalculateBestGainsPerFeature`: ```python import tensorflow as tf tf.raw_ops.BoostedTreesCalculateBestGainsPerFeature( node_id_range=[], stats_summary_list=[[1,2,3]], l1=[1.0], l2=[1.0], tree_complexity =[1.0], min_node_weight =[1.17], max_splits=5) ``` A similar att
ghsaosv
CVE-2021-37686MEDIUM≥ 2.6.0rc0, < 2.6.0rc22021-08-25
CVE-2021-37686 [MEDIUM] CWE-835 Infinite loop in TFLite Infinite loop in TFLite ### Impact The strided slice implementation in TFLite has a logic bug which can allow an attacker to trigger an infinite loop. This arises from newly introduced support for [ellipsis in axis definition](https://github.com/tensorflow/tensorflow/blob/149562d49faa709ea80df1d99fc41d005b81082a/tensorflow/lite/kernels/strided_slice.cc#L103-L122): ```cc for (int i = 0; i params->ellipsis_mask) { // ... int ellipsis_end_id
ghsaosv
CVE-2021-37657MEDIUM≥ 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-2021-37636MEDIUM≥ 0, < 2.3.4≥ 2.4.0, < 2.4.3+1 more2021-08-25
CVE-2021-37636 [MEDIUM] CWE-369 Floating point exception in `SparseDenseCwiseDiv` Floating point exception in `SparseDenseCwiseDiv` ### Impact The implementation of `tf.raw_ops.SparseDenseCwiseDiv` is vulnerable to a division by 0 error: ```python import tensorflow as tf import numpy as np tf.raw_ops.SparseDenseCwiseDiv( sp_indices=np.array([[4]]), sp_values=np.array([-400]), sp_shape=np.array([647.]), dense=np.array([0])) ``` The [implementation](https://github.com/tensorflow/tensorflow/blo
ghsaosv
CVE-2021-37640MEDIUM≥ 0, < 2.3.4≥ 2.4.0, < 2.4.3+1 more2021-08-25
CVE-2021-37640 [MEDIUM] CWE-369 Integer division by 0 in sparse reshaping Integer division by 0 in sparse reshaping ### Impact The implementation of `tf.raw_ops.SparseReshape` can be made to trigger an integral division by 0 exception: ```python import tensorflow as tf tf.raw_ops.SparseReshape( input_indices = np.ones((1,3)), input_shape = np.array([1,1,0]), new_shape = np.array([1,0])) ``` The [implementation](https://github.com/tensorflow/tensorflow/blob/8d72537c6abf5a44103b57b9c2e22c14f5f
ghsaosv