p PatchFirst

PatchFirst · Latest vulnerabilities

tensorflow vulnerabilities · Page 12

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

Filter vulnerabilities
Clear filters

Vulnerabilities: 434

  1. CVE-2021-41197

    Medium · CVSS 5.5EPSS 0.32%Fix available

    Crashes due to overflow and `CHECK`-fail in ops with large tensor shapes

    TensorFlow is an open source platform for machine learning. In affected versions TensorFlow allows tensor to have a large number of dimensions and each dimension can be as large as desired. However, the total number of elements in a tensor must fit within an `int64_t`. If an overflow occurs, `MultiplyWithoutOverflow` would return a negative result. In the majority of TensorFlow codebase this then results in a `CHECK`-failure. Newer constructs exist which return a `Status` instead of crashing the binary. This is similar to CVE-2021-29584. The fix will be included in TensorFlow 2.7.0. We will also cherrypick this commit on TensorFlow 2.6.1, Ten

    • Update to 2.4.4
    • Update to 2.5.2
    • Update to 2.6.1
    • Update to 2.7.0
    Published Updated
  2. CVE-2021-41198

    Medium · CVSS 5.5EPSS 0.24%Fix available

    Overflow/crash in `tf.tile` when tiling tensor is large

    TensorFlow is an open source platform for machine learning. In affected versions if `tf.tile` is called with a large input argument then the TensorFlow process will crash due to a `CHECK`-failure caused by an overflow. The number of elements in the output tensor is too much for the `int64_t` type and the overflow is detected via a `CHECK` statement. This aborts the process. The fix will be included in TensorFlow 2.7.0. We will also cherrypick this commit on TensorFlow 2.6.1, TensorFlow 2.5.2, and TensorFlow 2.4.4, as these are also affected and still in supported range.

    • Update to 2.4.4
    • Update to 2.5.2
    • Update to 2.6.1
    • Update to 2.7.0
    Published Updated
  3. CVE-2021-41199

    Medium · CVSS 5.5EPSS 0.24%Fix available

    Overflow/crash in `tf.image.resize` when size is large

    TensorFlow is an open source platform for machine learning. In affected versions if `tf.image.resize` is called with a large input argument then the TensorFlow process will crash due to a `CHECK`-failure caused by an overflow. The number of elements in the output tensor is too much for the `int64_t` type and the overflow is detected via a `CHECK` statement. This aborts the process. The fix will be included in TensorFlow 2.7.0. We will also cherrypick this commit on TensorFlow 2.6.1, TensorFlow 2.5.2, and TensorFlow 2.4.4, as these are also affected and still in supported range.

    • Update to 2.4.4
    • Update to 2.5.2
    • Update to 2.6.1
    • Update to 2.7.0
    Published Updated
  4. CVE-2021-41196

    Medium · CVSS 5.5EPSS 0.24%Fix available

    Crash in `max_pool3d` when size argument is 0 or negative

    TensorFlow is an open source platform for machine learning. In affected versions the Keras pooling layers can trigger a segfault if the size of the pool is 0 or if a dimension is negative. This is due to the TensorFlow's implementation of pooling operations where the values in the sliding window are not checked to be strictly positive. The fix will be included in TensorFlow 2.7.0. We will also cherrypick this commit on TensorFlow 2.6.1, TensorFlow 2.5.2, and TensorFlow 2.4.4, as these are also affected and still in supported range.

    • Update to 2.4.4
    • Update to 2.5.2
    • Update to 2.6.1
    • Update to 2.7.0
    Published Updated
  5. CVE-2021-41195

    Medium · CVSS 5.5EPSS 0.21%Fix available

    Crash in `tf.math.segment_*` operations

    TensorFlow is an open source platform for machine learning. In affected versions the implementation of `tf.math.segment_*` operations results in a `CHECK`-fail related abort (and denial of service) if a segment id in `segment_ids` is large. This is similar to CVE-2021-29584 (and similar other reported vulnerabilities in TensorFlow, localized to specific APIs): the implementation (both on CPU and GPU) computes the output shape using `AddDim`. However, if the number of elements in the tensor overflows an `int64_t` value, `AddDim` results in a `CHECK` failure which provokes a `std::abort`. Instead, code should use `AddDimWithStatus`. The fix wil

    • Update to 2.4.4
    • Update to 2.5.2
    • Update to 2.6.1
    Published Updated
  6. CVE-2021-37690

    Medium · CVSS 6.6EPSS 0.16%Fix available

    Use after free and segfault in shape inference functions in TensorFlow

    TensorFlow is an end-to-end open source platform for machine learning. In affected versions 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 segfault. `ShapeRefiner` is mitigating this for normal output shapes by cloning them (and thus putting the newly created shape under ownership of an inference context that will not die), but we were not doing the same

    • Update to 2.3.4
    • Update to 2.4.3
    • Update to 2.5.1
    Published Updated
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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

Check your server

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

Check your server →