p PatchFirst

PatchFirst · Latest vulnerabilities

tensorflow vulnerabilities · Page 22

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

Filter vulnerabilities
Clear filters

Vulnerabilities: 434

  1. CVE-2020-15197

    Medium · CVSS 6.3EPSS 0.73%Fix available

    Denial of Service in Tensorflow

    In Tensorflow before version 2.3.1, 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 rank 2. This tensor must be a matrix because code assumes its elements are accessed as elements of a matrix. However, malicious users can pass in tensors of different rank, resulting in a `CHECK` assertion failure and a crash. This can be used to cause denial of service in serving installations, if users are allowed to control the components of the input sparse tensor. The issue is patched in commit 3cbb917b4714766030b28eba9fb

    • Update to 2.3.1
    Published Updated
  2. CVE-2020-15198

    Medium · CVSS 5.4EPSS 0.54%Fix available

    Heap buffer overflow in Tensorflow

    In Tensorflow before version 2.3.1, 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. Thus, a shape mismatch can result in accesses outside the bounds of heap allocated buffers. The issue is patched in commit 3cbb917b4714766030b28eba9fb41bb97ce9ee02 and is released in TensorFlow version 2.3.1.

    • Update to 2.3.1
    Published Updated
  3. CVE-2020-15199

    Medium · CVSS 5.9EPSS 0.81%Fix available

    Denial of Service in Tensorflow

    In Tensorflow before version 2.3.1, 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. Since `BatchedMap` is equivalent to a vector, it needs to have at least one element to not be `nullptr`. If user passes a `splits` tensor that is empty or has exactly one element, we get a `SIGABRT` signal raised by the operating system. The issue is patched in commit 3cbb917b4714766030b28eba9fb41bb97ce9ee02 and is released in TensorFlow

    • Update to 2.3.1
    Published Updated
  4. CVE-2020-15200

    Medium · CVSS 5.9EPSS 0.85%Fix available

    Segfault in Tensorflow

    In Tensorflow before version 2.3.1, the `RaggedCountSparseOutput` implementation does not validate that the input arguments form a valid ragged tensor. In particular, there is no validation that the values in the `splits` tensor generate a valid partitioning of the `values` tensor. Thus, the code sets up conditions to cause a heap buffer overflow. A `BatchedMap` is equivalent to a vector where each element is a hashmap. However, if the first element of `splits_values` is not 0, `batch_idx` will never be 1, hence there will be no hashmap at index 0 in `per_batch_counts`. Trying to access that in the user code results in a segmentation fault. T

    • Update to 2.3.1
    Published Updated
  5. CVE-2020-15190

    Medium · CVSS 5.3EPSS 0.94%Fix available

    Segfault in Tensorflow

    In Tensorflow before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1, the `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. Since only one of the tensors is defined, the other one is `nullptr`, hence we are binding a reference to `nullptr`. This is undefined behavior and reported as an error if compiling with `-fsanitize=null`. In this case, this results in a segmentation fault The issue is patched in commit da85

    • Update to 1.15.4
    • Update to 2.0.3
    • Update to 2.1.2
    • Update to 2.2.1
    • Update to 2.3.1
    Published Updated
  6. CVE-2020-5215

    Medium · CVSS 5EPSS 0.59%Fix available

    Segmentation faultin TensorFlow when converting a Python string to tf.float16

    In TensorFlow before 1.15.2 and 2.0.1, converting a string (from Python) to a tf.float16 value results in a segmentation fault in eager mode as the format checks for this use case are only in the graph mode. This issue can lead to denial of service in inference/training where a malicious attacker can send a data point which contains a string instead of a tf.float16 value. Similar effects can be obtained by manipulating saved models and checkpoints whereby replacing a scalar tf.float16 value with a scalar string will trigger this issue due to automatic conversions. This can be easily reproduced by tf.constant("hello", tf.float16), if eager exe

    • Update to 1.15.2
    • Update to 2.0.1
    Published Updated
  7. CVE-2019-16778

    Low · CVSS 2.6EPSS 0.79%Fix available

    Heap buffer overflow in `UnsortedSegmentSum` in TensorFlow

    In TensorFlow before 1.15, a heap buffer overflow in UnsortedSegmentSum can be produced when the Index template argument is int32. In this case data_size and num_segments fields are truncated from int64 to int32 and can produce negative numbers, resulting in accessing out of bounds heap memory. This is unlikely to be exploitable and was detected and fixed internally in TensorFlow 1.15 and 2.0.

    • Update to 1.15.0
    Published Updated
  8. CVE-2018-10055

    High · CVSS 8.1EPSS 0.53%Fix available

    CVE-2018-10055

    Invalid memory access and/or a heap buffer overflow in the TensorFlow XLA compiler in Google TensorFlow before 1.7.1 could cause a crash or read from other parts of process memory via a crafted configuration file.

    • Update to 1.7.1
    Published Updated

Check your server

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

Check your server →