p PatchFirst

PatchFirst · Latest vulnerabilities

tensorflow vulnerabilities · Page 20

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-29545

    Low · CVSS 2.5EPSS 0.19%Fix available

    Heap buffer overflow in `SparseTensorToCSRSparseMatrix`

    TensorFlow is an end-to-end open source platform for machine learning. An attacker can trigger a denial of service via a `CHECK`-fail in converting sparse tensors to CSR Sparse matrices. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/800346f2c03a27e182dd4fba48295f65e7790739/tensorflow/core/kernels/sparse/kernels.cc#L66) does a double redirection to access an element of an array allocated on the heap. If the value at `indices(i, 0)` is such that `indices(i, 0) + 1` is outside the bounds of `csr_row_ptr`, this results in writing outside of bounds of heap allocated data. The fix will be included in TensorFlow 2.

    • Update to 2.1.4
    • Update to 2.2.0rc0
    • Update to 2.2.3
    • Update to 2.3.0rc0
    • Update to 2.3.3
    • Update to 2.3.4
    • Update to 2.4.2
    • Update to 2.4.3
    Published Updated
  2. CVE-2021-29546

    Low · CVSS 2.5EPSS 0.2%Fix available

    Division by 0 in `QuantizedBiasAdd`

    TensorFlow is an end-to-end open source platform for machine learning. An attacker can trigger an integer division by zero undefined behavior in `tf.raw_ops.QuantizedBiasAdd`. This is because the implementation of the Eigen kernel(https://github.com/tensorflow/tensorflow/blob/61bca8bd5ba8a68b2d97435ddfafcdf2b85672cd/tensorflow/core/kernels/quantization_utils.h#L812-L849) does a division by the number of elements of the smaller input (based on shape) without checking that this is not zero. The fix will be included in TensorFlow 2.5.0. We will also cherrypick this commit on TensorFlow 2.4.2, TensorFlow 2.3.3, TensorFlow 2.2.3 and TensorFlow 2.1

    • Update to 2.1.4
    • Update to 2.2.0rc0
    • Update to 2.2.3
    • Update to 2.3.0rc0
    • Update to 2.3.3
    • Update to 2.3.4
    • Update to 2.4.2
    • Update to 2.4.3
    Published Updated
  3. CVE-2021-29547

    Low · CVSS 2.5EPSS 0.19%Fix available

    Heap out of bounds in `QuantizedBatchNormWithGlobalNormalization`

    TensorFlow is an end-to-end open source platform for machine learning. An attacker can cause a segfault and denial of service via accessing data outside of bounds in `tf.raw_ops.QuantizedBatchNormWithGlobalNormalization`. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/55a97caa9e99c7f37a0bbbeb414dc55553d3ae7f/tensorflow/core/kernels/quantized_batch_norm_op.cc#L176-L189) assumes the inputs are not empty. If any of these inputs is empty, `.flat<T>()` is an empty buffer, so accessing the element at index 0 is accessing data outside of bounds. The fix will be included in TensorFlow 2.5.0. We will also cherrypick t

    • Update to 2.1.4
    • Update to 2.2.0rc0
    • Update to 2.2.3
    • Update to 2.3.0rc0
    • Update to 2.3.3
    • Update to 2.3.4
    • Update to 2.4.2
    • Update to 2.4.3
    Published Updated
  4. CVE-2021-29548

    Low · CVSS 2.5EPSS 0.19%Fix available

    Division by 0 in `QuantizedBatchNormWithGlobalNormalization`

    TensorFlow is an end-to-end open source platform for machine learning. An attacker can cause a runtime division by zero error and denial of service in `tf.raw_ops.QuantizedBatchNormWithGlobalNormalization`. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/55a97caa9e99c7f37a0bbbeb414dc55553d3ae7f/tensorflow/core/kernels/quantized_batch_norm_op.cc) does not validate all constraints specified in the op's contract(https://www.tensorflow.org/api_docs/python/tf/raw_ops/QuantizedBatchNormWithGlobalNormalization). The fix will be included in TensorFlow 2.5.0. We will also cherrypick this commit on TensorFlow 2.4.2, Ten

    • Update to 2.1.4
    • Update to 2.2.3
    • Update to 2.3.3
    • Update to 2.4.2
    Published Updated
  5. CVE-2021-29549

    Low · CVSS 2.5EPSS 0.19%Fix available

    Division by 0 in `QuantizedAdd`

    TensorFlow is an end-to-end open source platform for machine learning. An attacker can cause a runtime division by zero error and denial of service in `tf.raw_ops.QuantizedBatchNormWithGlobalNormalization`. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/6f26b3f3418201479c264f2a02000880d8df151c/tensorflow/core/kernels/quantized_add_op.cc#L289-L295) computes a modulo operation without validating that the divisor is not zero. Since `vector_num_elements` is determined based on input shapes(https://github.com/tensorflow/tensorflow/blob/6f26b3f3418201479c264f2a02000880d8df151c/tensorflow/core/kernels/quantized_add_

    • Update to 2.1.4
    • Update to 2.2.0rc0
    • Update to 2.2.3
    • Update to 2.3.0rc0
    • Update to 2.3.3
    • Update to 2.3.4
    • Update to 2.4.2
    • Update to 2.4.3
    Published Updated
  6. CVE-2021-29550

    Low · CVSS 2.5EPSS 0.19%Fix available

    Division by 0 in `FractionalAvgPool`

    TensorFlow is an end-to-end open source platform for machine learning. An attacker can cause a runtime division by zero error and denial of service in `tf.raw_ops.FractionalAvgPool`. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/acc8ee69f5f46f92a3f1f11230f49c6ac266f10c/tensorflow/core/kernels/fractional_avg_pool_op.cc#L85-L89) computes a divisor quantity by dividing two user controlled values. The user controls the values of `input_size[i]` and `pooling_ratio_[i]` (via the `value.shape()` and `pooling_ratio` arguments). If the value in `input_size[i]` is smaller than the `pooling_ratio_[i]`, then the floor o

    • Update to 2.1.4
    • Update to 2.2.0rc0
    • Update to 2.2.3
    • Update to 2.3.0rc0
    • Update to 2.3.3
    • Update to 2.3.4
    • Update to 2.4.2
    • Update to 2.4.3
    Published Updated
  7. CVE-2021-29551

    Low · CVSS 2.5EPSS 0.22%Fix available

    OOB read in `MatrixTriangularSolve`

    TensorFlow is an end-to-end open source platform for machine learning. The implementation of `MatrixTriangularSolve`(https://github.com/tensorflow/tensorflow/blob/8cae746d8449c7dda5298327353d68613f16e798/tensorflow/core/kernels/linalg/matrix_triangular_solve_op_impl.h#L160-L240) fails to terminate kernel execution if one validation condition fails. The fix will be included in TensorFlow 2.5.0. We will also cherrypick this commit on TensorFlow 2.4.2, TensorFlow 2.3.3, TensorFlow 2.2.3 and TensorFlow 2.1.4, as these are also affected and still in supported range.

    • Update to 2.1.4
    • Update to 2.2.0rc0
    • Update to 2.2.3
    • Update to 2.3.0rc0
    • Update to 2.3.3
    • Update to 2.3.4
    • Update to 2.4.2
    • Update to 2.4.3
    Published Updated
  8. CVE-2021-29552

    Low · CVSS 2.5EPSS 0.19%Fix available

    CHECK-failure in `UnsortedSegmentJoin`

    TensorFlow is an end-to-end open source platform for machine learning. An attacker can cause a denial of service by controlling the values of `num_segments` tensor argument for `UnsortedSegmentJoin`. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/a2a607db15c7cd01d754d37e5448d72a13491bdb/tensorflow/core/kernels/unsorted_segment_join_op.cc#L92-L93) assumes that the `num_segments` tensor is a valid scalar. Since the tensor is empty the `CHECK` involved in `.scalar<T>()()` that checks that the number of elements is exactly 1 will be invalidated and this would result in process termination. The fix will be include

    • Update to 2.1.4
    • Update to 2.2.0rc0
    • Update to 2.2.3
    • Update to 2.3.0rc0
    • Update to 2.3.3
    • Update to 2.3.4
    • Update to 2.4.2
    • Update to 2.4.3
    Published Updated
  9. CVE-2021-29553

    Low · CVSS 2.5EPSS 0.2%Fix available

    Heap OOB in `QuantizeAndDequantizeV3`

    TensorFlow is an end-to-end open source platform for machine learning. An attacker can read data outside of bounds of heap allocated buffer in `tf.raw_ops.QuantizeAndDequantizeV3`. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/11ff7f80667e6490d7b5174aa6bf5e01886e770f/tensorflow/core/kernels/quantize_and_dequantize_op.cc#L237) does not validate the value of user supplied `axis` attribute before using it to index in the array backing the `input` argument. The fix will be included in TensorFlow 2.5.0. We will also cherrypick this commit on TensorFlow 2.4.2, TensorFlow 2.3.3, TensorFlow 2.2.3 and TensorFlow 2.1.

    • Update to 2.1.4
    • Update to 2.2.3
    • Update to 2.3.3
    • Update to 2.4.2
    Published Updated
  10. CVE-2021-29554

    Low · CVSS 2.5EPSS 0.19%Fix available

    Division by 0 in `DenseCountSparseOutput`

    TensorFlow is an end-to-end open source platform for machine learning. An attacker can cause a denial of service via a FPE runtime error in `tf.raw_ops.DenseCountSparseOutput`. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/efff014f3b2d8ef6141da30c806faf141297eca1/tensorflow/core/kernels/count_ops.cc#L123-L127) computes a divisor value from user data but does not check that the result is 0 before doing the division. Since `data` is given by the `values` argument, `num_batch_elements` is 0. The fix will be included in TensorFlow 2.5.0. We will also cherrypick this commit on TensorFlow 2.4.2, and TensorFlow 2.3

    • Update to 2.1.4
    • Update to 2.2.3
    • Update to 2.3.3
    • Update to 2.4.2
    Published Updated
  11. CVE-2021-29512

    Low · CVSS 2.5EPSS 0.21%Fix available

    Heap buffer overflow in `RaggedBinCount`

    TensorFlow is an end-to-end open source platform for machine learning. If the `splits` argument of `RaggedBincount` does not specify a valid `SparseTensor`(https://www.tensorflow.org/api_docs/python/tf/sparse/SparseTensor), then an attacker can trigger a heap buffer overflow. This will cause a read from outside the bounds of the `splits` tensor buffer in the implementation of the `RaggedBincount` op(https://github.com/tensorflow/tensorflow/blob/8b677d79167799f71c42fd3fa074476e0295413a/tensorflow/core/kernels/bincount_op.cc#L430-L433). Before the `for` loop, `batch_idx` is set to 0. The user controls the `splits` array, making it contain only

    • Update to 2.3.3
    • Update to 2.4.2
    Published Updated
  12. OSV-2021-449

    Not ratedNo fix published

    UNKNOWN READ in std::pair<absl::lts_NUMBER_02_25::container_internal::raw_hash_set<absl::lts_NUM

    OSS-Fuzz report: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=31393 ``` Crash type: UNKNOWN READ Crash state: std::pair<absl::lts_NUMBER_02_25::container_internal::raw_hash_set<absl::lts_NUM tensorflow::SparseCount<long, long>::Compute tensorflow::KernelAndDeviceOp::Run ```

    Published Updated
  13. CVE-2020-26266

    Medium · CVSS 4.4EPSS 0.26%Fix available

    Uninitialized memory access in Eigen types in TensorFlow

    In affected versions of TensorFlow under certain cases a saved model can trigger use of uninitialized values during code execution. This is caused by having tensor buffers be filled with the default value of the type but forgetting to default initialize the quantized floating point types in Eigen. This is fixed in versions 1.15.5, 2.0.4, 2.1.3, 2.2.2, 2.3.2, and 2.4.0.

    • Update to 1.15.5
    • Update to 2.0.4
    • Update to 2.1.3
    • Update to 2.2.2
    • Update to 2.3.2
    Published Updated
  14. CVE-2020-26267

    Medium · CVSS 4.4EPSS 0.24%Fix available

    Lack of validation in data format attributes in TensorFlow

    In affected versions of TensorFlow the tf.raw_ops.DataFormatVecPermute API does not validate the src_format and dst_format attributes. The code assumes that these two arguments define a permutation of NHWC. This can result in uninitialized memory accesses, read outside of bounds and even crashes. This is fixed in versions 1.15.5, 2.0.4, 2.1.3, 2.2.2, 2.3.2, and 2.4.0.

    • Update to 1.15.5
    • Update to 2.0.4
    • Update to 2.1.3
    • Update to 2.2.2
    • Update to 2.3.2
    Published Updated
  15. CVE-2020-26268

    Medium · CVSS 4.4EPSS 0.21%Fix available

    Write to immutable memory region in TensorFlow

    In affected versions of TensorFlow the tf.raw_ops.ImmutableConst operation returns a constant tensor created from a memory mapped file which is assumed immutable. However, if the type of the tensor is not an integral type, the operation crashes the Python interpreter as it tries to write to the memory area. If the file is too small, TensorFlow properly returns an error as the memory area has fewer bytes than what is needed for the tensor it creates. However, as soon as there are enough bytes, the above snippet causes a segmentation fault. This is because the allocator used to return the buffer data is not marked as returning an opaque handle

    • Update to 1.15.5
    • Update to 2.0.4
    • Update to 2.1.3
    • Update to 2.2.2
    • Update to 2.3.2
    Published Updated
  16. CVE-2020-26269

    Critical · CVSS 9.1EPSS 0.7%Fix available

    Heap out of bounds read in filesystem glob matching in TensorFlow

    In TensorFlow release candidate versions 2.4.0rc*, the general implementation for matching filesystem paths to globbing pattern is vulnerable to an access out of bounds of the array holding the directories. There are multiple invariants and preconditions that are assumed by the parallel implementation of GetMatchingPaths but are not verified by the PRs introducing it (#40861 and #44310). Thus, we are completely rewriting the implementation to fully specify and validate these. This is patched in version 2.4.0. This issue only impacts master branch and the release candidates for TF version 2.4. The final release of the 2.4 release will be patch

    • Update to 2.4.0
    Published Updated
  17. CVE-2020-26270

    Medium · CVSS 4.4EPSS 0.17%Fix available

    CHECK-fail in LSTM with zero-length input in TensorFlow

    In affected versions of TensorFlow running an LSTM/GRU model where the LSTM/GRU layer receives an input with zero-length results in a CHECK failure when using the CUDA backend. This can result in a query-of-death vulnerability, via denial of service, if users can control the input to the layer. This is fixed in versions 1.15.5, 2.0.4, 2.1.3, 2.2.2, 2.3.2, and 2.4.0.

    • Update to 1.15.5
    • Update to 2.0.4
    • Update to 2.1.3
    • Update to 2.2.2
    • Update to 2.3.2
    Published Updated
  18. CVE-2020-26271

    Medium · CVSS 4.4EPSS 0.22%Fix available

    Heap out of bounds access in MakeEdge in TensorFlow

    In affected versions of TensorFlow under certain cases, loading a saved model can result in accessing uninitialized memory while building the computation graph. The MakeEdge function creates an edge between one output tensor of the src node (given by output_index) and the input slot of the dst node (given by input_index). This is only possible if the types of the tensors on both sides coincide, so the function begins by obtaining the corresponding DataType values and comparing these for equality. However, there is no check that the indices point to inside of the arrays they index into. Thus, this can result in accessing data out of bounds of

    • Update to 1.15.5
    • Update to 2.0.4
    • Update to 2.1.3
    • Update to 2.2.2
    • Update to 2.3.2
    Published Updated
  19. CVE-2020-15266

    Low · CVSS 3.7EPSS 0.94%Fix available

    Undefined behavior in Tensorflow

    In Tensorflow before version 2.4.0, when the `boxes` argument of `tf.image.crop_and_resize` has a very large value, the CPU kernel implementation receives it as a C++ `nan` floating point value. Attempting to operate on this is undefined behavior which later produces a segmentation fault. The issue is patched in eccb7ec454e6617738554a255d77f08e60ee0808 and TensorFlow 2.4.0 will be released containing the patch. TensorFlow nightly packages after this commit will also have the issue resolved.

    • Update to 2.4.0
    Published Updated
  20. CVE-2020-15265

    Medium · CVSS 5.9EPSS 0.91%Fix available

    Segfault in Tensorflow

    In Tensorflow before version 2.4.0, an attacker can pass an invalid `axis` value to `tf.quantization.quantize_and_dequantize`. This results in accessing a dimension outside the rank of the input tensor in the C++ kernel implementation. However, dim_size only does a DCHECK to validate the argument and then uses it to access the corresponding element of an array. Since in normal builds, `DCHECK`-like macros are no-ops, this results in segfault and access out of bounds of the array. The issue is patched in eccb7ec454e6617738554a255d77f08e60ee0808 and TensorFlow 2.4.0 will be released containing the patch. TensorFlow nightly packages after this c

    • Update to 2.4.0
    Published Updated

Check your server

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

Check your server →