p PatchFirst

PatchFirst · Latest vulnerabilities

tensorflow-gpu vulnerabilities · Page 12

Vulnerabilities published for tensorflow-gpu in the last 30 days: 0. Listed in the KEV catalogue: 0.

Filter vulnerabilities
Clear filters

Vulnerabilities: 427

  1. CVE-2021-37678

    Critical · CVSS 9.3EPSS 0.45%Fix available

    Arbitrary code execution due to YAML deserialization

    TensorFlow is an end-to-end open source platform for machine learning. In affected versions TensorFlow and Keras can be tricked to perform arbitrary code execution when deserializing a Keras model from YAML format. The [implementation](https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/python/keras/saving/model_config.py#L66-L104) uses `yaml.unsafe_load` which can perform arbitrary code execution on the input. Given that YAML format support requires a significant amount of work, we have removed it for now. We have patched the issue in GitHub commit 23d6383eb6c14084a8fc3bdf164043b974818012. The fi

    • Update to 2.3.4
    • Update to 2.4.3
    • Update to 2.5.1
    Published Updated
  2. CVE-2021-37692

    Medium · CVSS 5.5EPSS 0.17%Fix available

    Segfault on strings tensors with mistmatched dimensions in TensorFlow

    TensorFlow is an end-to-end open source platform for machine learning. In affected versions under certain conditions, Go code can trigger a segfault in string deallocation. For string tensors, `C.TF_TString_Dealloc` is called during garbage collection within a finalizer function. However, tensor structure isn't checked until encoding to avoid a performance penalty. The current method for dealloc assumes that encoding succeeded, but segfaults when a string tensor is garbage collected whose encoding failed (e.g., due to mismatched dimensions). To fix this, the call to set the finalizer function is deferred until `NewTensor` returns and, if enco

    • Update to 2.3.4
    • Update to 2.4.3
    • Update to 2.5.1
    Published Updated
  3. CVE-2021-37669

    Medium · CVSS 5.5EPSS 0.18%Fix available

    Crash in NMS ops caused by integer conversion to unsigned in TensorFlow

    TensorFlow is an end-to-end open source platform for machine learning. In affected versions an attacker can cause denial of service in applications serving models using `tf.raw_ops.NonMaxSuppressionV5` by triggering a division by 0. The [implementation](https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/core/kernels/image/non_max_suppression_op.cc#L170-L271) uses a user controlled argument to resize a `std::vector`. However, as `std::vector::resize` takes the size argument as a `size_t` and `output_size` is an `int`, there is an implicit conversion to unsigned. If the attacker supplies a negative

    • Update to 2.3.4
    • Update to 2.4.3
    • Update to 2.5.1
    Published Updated
  4. CVE-2021-37673

    Medium · CVSS 5.5EPSS 0.15%Fix available

    `CHECK`-fail in `MapStage` in TensorFlow

    TensorFlow is an end-to-end open source platform for machine learning. In affected versions an attacker can trigger a denial of service via a `CHECK`-fail in `tf.raw_ops.MapStage`. The [implementation](https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/core/kernels/map_stage_op.cc#L513) does not check that the `key` input is a valid non-empty tensor. We have patched the issue in GitHub commit d7de67733925de196ec8863a33445b73f9562d1d. The fix will be included in TensorFlow 2.6.0. We will also cherrypick this commit on TensorFlow 2.5.1, TensorFlow 2.4.3, and TensorFlow 2.3.4, as these are also affe

    • Update to 2.3.4
    • Update to 2.4.3
    • Update to 2.5.1
    Published Updated
  5. CVE-2021-37663

    High · CVSS 7.8EPSS 0.17%Fix available

    Incomplete validation in `QuantizeV2` in TensorFlow

    TensorFlow is an end-to-end open source platform for machine learning. In affected versions 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. The [implementation](https://github.com/tensorflow/tensorflow/blob/84d053187cb80d975ef2b9684d4b61981bca0c41/tensorflow/core/kernels/quantize_op.cc#L59) has some validation but does not check that `min_range` and `max_range` both have the same non-zero number of elements. If `axis` is provided (i.e., not `-1`), then validation should check that it is

    • Update to 2.3.4
    • Update to 2.4.3
    • Update to 2.5.1
    Published Updated
  6. CVE-2021-37682

    Medium · CVSS 4.4EPSS 0.18%Fix available

    Use of unitialized value in TensorFlow Lite

    TensorFlow is an end-to-end open source platform for machine learning. In affected versions 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). The issue stems from the fact that `quantization.params` is only valid if `quantization.type` is different that `kTfLiteNoQuantization`. However, these checks are missing in large parts of the code. We have patched the issue in GitHub commits 537bc7c723439b9194a358f64d871dd326c18887, 4a91f2069f7145aab6ba2d8cfe41be8a110

    • Update to 2.3.4
    • Update to 2.4.3
    • Update to 2.5.1
    Published Updated
  7. CVE-2021-37674

    Medium · CVSS 5.5EPSS 0.18%Fix available

    Incomplete validation in `MaxPoolGrad` in TensorFlow

    TensorFlow is an end-to-end open source platform for machine learning. In affected versions an attacker can trigger a denial of service via a segmentation fault in `tf.raw_ops.MaxPoolGrad` caused by missing validation. The [implementation](https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/core/kernels/maxpooling_op.cc) misses some validation for the `orig_input` and `orig_output` tensors. The fixes for CVE-2021-29579 were incomplete. We have patched the issue in GitHub commit 136b51f10903e044308cf77117c0ed9871350475. The fix will be included in TensorFlow 2.6.0. We will also cherrypick this comm

    • Update to 2.3.4
    • Update to 2.4.3
    • Update to 2.5.1
    Published Updated
  8. CVE-2021-37665

    High · CVSS 7.8EPSS 0.18%Fix available

    Incomplete validation in MKL requantization in TensorFlow

    TensorFlow is an end-to-end open source platform for machine learning. In affected versions due to incomplete validation in MKL implementation of requantization, 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. The [implementation](https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/core/kernels/mkl/mkl_requantization_range_per_channel_op.cc) does not validate the dimensions of the `input` tensor. A similar issue occurs in `MklRequantizePerChannelOp`. The [implementation](https://github.com/tensorfl

    • Update to 2.3.4
    • Update to 2.4.3
    • Update to 2.5.1
    Published Updated
  9. CVE-2021-37677

    Medium · CVSS 5.5EPSS 0.15%Fix available

    Missing validation in shape inference for `Dequantize` in TensorFlow

    TensorFlow is an end-to-end open source platform for machine learning. In affected versions the shape inference code for `tf.raw_ops.Dequantize` has a vulnerability that could trigger a denial of service via a segfault if an attacker provides invalid arguments. The shape inference [implementation](https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/core/ops/array_ops.cc#L2999-L3014) uses `axis` to select between two different values for `minmax_rank` which is then used to retrieve tensor dimensions. However, code assumes that `axis` can be either `-1` or a value greater than `-1`, with no validati

    • Update to 2.3.4
    • Update to 2.4.3
    • Update to 2.5.1
    Published Updated
  10. CVE-2021-37683

    Medium · CVSS 5.5EPSS 0.15%Fix available

    Division by zero in TensorFlow Lite division operations

    TensorFlow is an end-to-end open source platform for machine learning. In affected versions the implementation of division in TFLite is [vulnerable to a division by 0 error](https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/lite/kernels/div.cc). There is no check that the divisor tensor does not contain zero elements. We have patched the issue in GitHub commit 1e206baedf8bef0334cca3eb92bab134ef525a28. The fix will be included in TensorFlow 2.6.0. We will also cherrypick this commit on TensorFlow 2.5.1, TensorFlow 2.4.3, and TensorFlow 2.3.4, as these are also affected and still in supported rang

    • Update to 2.3.4
    • Update to 2.4.3
    • Update to 2.5.1
    Published Updated
  11. CVE-2021-37684

    Medium · CVSS 5.5EPSS 0.14%Fix available

    Division by zero in TensorFlow Lite pooling operations

    TensorFlow is an end-to-end open source platform for machine learning. In affected versions the implementations of pooling in TFLite are vulnerable to division by 0 errors as there are no checks for divisors not being 0. We have patched the issue in GitHub commit [dfa22b348b70bb89d6d6ec0ff53973bacb4f4695](https://github.com/tensorflow/tensorflow/commit/dfa22b348b70bb89d6d6ec0ff53973bacb4f4695). The fix will be included in TensorFlow 2.6.0. We will also cherrypick this commit on TensorFlow 2.5.1, TensorFlow 2.4.3, and TensorFlow 2.3.4, as these are also affected and still in supported range.

    • Update to 2.3.4
    • Update to 2.4.3
    • Update to 2.5.1
    Published Updated
  12. CVE-2021-37668

    Medium · CVSS 5.5EPSS 0.15%Fix available

    Division by zero in TensorFlow Lite `tf.raw_ops.UnravelIndex`

    TensorFlow is an end-to-end open source platform for machine learning. In affected versions an attacker can cause denial of service in applications serving models using `tf.raw_ops.UnravelIndex` by triggering a division by 0. The [implementation](https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/core/kernels/unravel_index_op.cc#L36) does not check that the tensor subsumed by `dims` is not empty. Hence, if one element of `dims` is 0, the implementation does a division by 0. We have patched the issue in GitHub commit a776040a5e7ebf76eeb7eb923bf1ae417dd4d233. The fix will be included in TensorFlow

    • Update to 2.3.4
    • Update to 2.4.3
    • Update to 2.5.1
    Published Updated
  13. CVE-2021-37670

    Medium · CVSS 5.5EPSS 0.17%Fix available

    Heap OOB in `UpperBound` and `LowerBound` in TensorFlow

    TensorFlow is an end-to-end open source platform for machine learning. In affected versions an attacker can read from outside of bounds of heap allocated data by sending specially crafted illegal arguments to `tf.raw_ops.UpperBound`. The [implementation](https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/core/kernels/searchsorted_op.cc#L85-L104) does not validate the rank of `sorted_input` argument. A similar issue occurs in `tf.raw_ops.LowerBound`. We have patched the issue in GitHub commit 42459e4273c2e47a3232cc16c4f4fff3b3a35c38. The fix will be included in TensorFlow 2.6.0. We will also cherr

    • Update to 2.3.4
    • Update to 2.4.3
    • Update to 2.5.1
    Published Updated
  14. CVE-2021-37691

    Medium · CVSS 5.5EPSS 0.15%Fix available

    Division by zero in LSH in TensorFlow Lite

    TensorFlow is an end-to-end open source platform for machine learning. In affected versions 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). We have patched the issue in GitHub commit 0575b640091680cfb70f4dd93e70658de43b94f9. The fix will be included in TensorFlow 2.6.0. We will also cherrypick thiscommit on TensorFlow 2.5.1, TensorFlow 2.4.3, and TensorFlow 2.3.4, as these are also affected and still in supported range.

    • Update to 2.3.4
    • Update to 2.4.3
    • Update to 2.5.1
    Published Updated
  15. CVE-2021-37679

    High · CVSS 7.1EPSS 0.18%Fix available

    Heap OOB in nested `tf.map_fn` with `RaggedTensor`s in TensorFlow

    TensorFlow is an end-to-end open source platform for machine learning. In affected versions 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. The `t` and `z` outputs should be identical, however this is not the case. The last row of `t` contains data from the heap which can be used to leak other memory information. The bug lies in the conversion from a `Variant` tensor to a `RaggedTensor`. The [implementation](htt

    • Update to 2.3.4
    • Update to 2.4.3
    • Update to 2.5.1
    Published Updated
  16. CVE-2021-37672

    Medium · CVSS 5.5EPSS 0.17%Fix available

    Heap OOB in `SdcaOptimizerV2` in TensorFlow

    TensorFlow is an end-to-end open source platform for machine learning. In affected versions an attacker can read from outside of bounds of heap allocated data by sending specially crafted illegal arguments to `tf.raw_ops.SdcaOptimizerV2`. The [implementation](https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/core/kernels/sdca_internal.cc#L320-L353) does not check that the length of `example_labels` is the same as the number of examples. We have patched the issue in GitHub commit a4e138660270e7599793fa438cd7b2fc2ce215a6. The fix will be included in TensorFlow 2.6.0. We will also cherrypick this c

    • Update to 2.3.4
    • Update to 2.4.3
    • Update to 2.5.1
    Published Updated
  17. CVE-2021-37687

    Medium · CVSS 5.5EPSS 0.19%Fix available

    Heap OOB in TensorFlow Lite's `Gather*` implementations

    TensorFlow is an end-to-end open source platform for machine learning. In affected versions 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 `indices`. Similar issue exists in [`Gather` implementation](https://github.com/tensorflow/tensorflow/blob/149562d49faa709ea80df1d99fc41d005b81082a/tensorflow/lite/kernels/gather.cc). We have patched th

    • Update to 2.3.4
    • Update to 2.4.3
    • Update to 2.5.1
    Published Updated
  18. CVE-2021-37685

    Medium · CVSS 5.5EPSS 0.17%Fix available

    Heap OOB in TensorFlow Lite

    TensorFlow is an end-to-end open source platform for machine learning. In affected versions TFLite's [`expand_dims.cc`](https://github.com/tensorflow/tensorflow/blob/149562d49faa709ea80df1d99fc41d005b81082a/tensorflow/lite/kernels/expand_dims.cc#L36-L50) contains a vulnerability which allows reading one element outside of bounds of heap allocated data. If `axis` is a large negative value (e.g., `-100000`), then after the first `if` it would still be negative. The check following the `if` statement will pass and the `for` loop would read one element before the start of `input_dims.data` (when `i = 0`). We have patched the issue in GitHub commi

    • Update to 2.3.4
    • Update to 2.4.3
    • Update to 2.5.1
    Published Updated
  19. CVE-2021-37681

    High · CVSS 7.8EPSS 0.17%Fix available

    Null pointer exception in TensorFlow Lite

    TensorFlow is an end-to-end open source platform for machine learning. In affected versions 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). The [`GetVariableInput` function](https://github.com/tensorflow/tensorflow/blob/460e000de3a83278fb00b61a16d161b1964f15f4/tensorflow/lite/kernels/kernel_util.cc#L115-L119) can return a null pointer but `GetTensorData` assumes that the argument is always a valid tensor. Furthermore, because `GetVariableInput` calls [`GetMutableInput`](https://github.

    • Update to 2.3.4
    • Update to 2.4.3
    • Update to 2.5.1
    Published Updated
  20. CVE-2021-37689

    High · CVSS 7.8EPSS 0.17%Fix available

    Null pointer dereference in TensorFlow Lite MLIR optimizations

    TensorFlow is an end-to-end open source platform for machine learning. In affected versions an attacker can craft a TFLite model that would trigger a null pointer dereference, which would result in a crash and denial of service. This is caused by the MLIR optimization of `L2NormalizeReduceAxis` operator. The [implementation](https://github.com/tensorflow/tensorflow/blob/149562d49faa709ea80df1d99fc41d005b81082a/tensorflow/compiler/mlir/lite/transforms/optimize.cc#L67-L70) unconditionally dereferences a pointer to an iterator to a vector without checking that the vector has elements. We have patched the issue in GitHub commit d6b57f461b39fd1aa8

    • Update to 2.3.4
    • Update to 2.4.3
    • Update to 2.5.1
    Published Updated

Check your server

Check your installed stack and versions against the current vulnerability feeds.

Check your server →