p PatchFirst

PatchFirst · Latest vulnerabilities

tensorflow vulnerabilities · Page 19

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

    Low · CVSS 2.5EPSS 0.2%Fix available

    Division by 0 in `Conv2DBackpropInput`

    TensorFlow is an end-to-end open source platform for machine learning. An attacker can trigger a division by 0 in `tf.raw_ops.Conv2DBackpropInput`. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/b40060c9f697b044e3107917c797ba052f4506ab/tensorflow/core/kernels/conv_grad_input_ops.h#L625-L655) does a division by a quantity that is controlled by the caller. 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.3
    • Update to 2.3.3
    • Update to 2.4.2
    Published Updated
  2. CVE-2021-29526

    Low · CVSS 2.5EPSS 0.2%Fix available

    Division by 0 in `Conv2D`

    TensorFlow is an end-to-end open source platform for machine learning. An attacker can trigger a division by 0 in `tf.raw_ops.Conv2D`. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/988087bd83f144af14087fe4fecee2d250d93737/tensorflow/core/kernels/conv_ops.cc#L261-L263) does a division by a quantity that is controlled by the caller. 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.3
    • Update to 2.3.3
    • Update to 2.4.2
    Published Updated
  3. CVE-2021-29527

    Low · CVSS 2.5EPSS 0.19%Fix available

    Division by 0 in `QuantizedConv2D`

    TensorFlow is an end-to-end open source platform for machine learning. An attacker can trigger a division by 0 in `tf.raw_ops.QuantizedConv2D`. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/00e9a4d67d76703fa1aee33dac582acf317e0e81/tensorflow/core/kernels/quantized_conv_ops.cc#L257-L259) does a division by a quantity that is controlled by the caller. 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.3
    • Update to 2.3.3
    • Update to 2.4.2
    Published Updated
  4. CVE-2021-29528

    Low · CVSS 2.5EPSS 0.19%Fix available

    Division by 0 in `QuantizedMul`

    TensorFlow is an end-to-end open source platform for machine learning. An attacker can trigger a division by 0 in `tf.raw_ops.QuantizedMul`. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/55900e961ed4a23b438392024912154a2c2f5e85/tensorflow/core/kernels/quantized_mul_op.cc#L188-L198) does a division by a quantity that is controlled by the caller. 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.3
    • Update to 2.3.3
    • Update to 2.4.2
    Published Updated
  5. CVE-2021-29529

    Low · CVSS 2.5EPSS 0.25%Fix available

    Heap buffer overflow caused by rounding

    TensorFlow is an end-to-end open source platform for machine learning. An attacker can trigger a heap buffer overflow in `tf.raw_ops.QuantizedResizeBilinear` by manipulating input values so that float rounding results in off-by-one error in accessing image elements. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/44b7f486c0143f68b56c34e2d01e146ee445134a/tensorflow/core/kernels/quantized_resize_bilinear_op.cc#L62-L66) computes two integers (representing the upper and lower bounds for interpolation) by ceiling and flooring a floating point value. For some values of `in`, `interpolation->upper[i]` might be smalle

    • Update to 2.1.4
    • Update to 2.2.3
    • Update to 2.3.3
    • Update to 2.4.2
    Published Updated
  6. CVE-2021-29530

    Low · CVSS 2.5EPSS 0.23%Fix available

    Invalid validation in `SparseMatrixSparseCholesky`

    TensorFlow is an end-to-end open source platform for machine learning. An attacker can trigger a null pointer dereference by providing an invalid `permutation` to `tf.raw_ops.SparseMatrixSparseCholesky`. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/080f1d9e257589f78b3ffb75debf584168aa6062/tensorflow/core/kernels/sparse/sparse_cholesky_op.cc#L85-L86) fails to properly validate the input arguments. Although `ValidateInputs` is called and there are checks in the body of this function, the code proceeds to the next line in `ValidateInputs` since `OP_REQUIRES`(https://github.com/tensorflow/tensorflow/blob/080f1d

    • Update to 2.1.4
    • Update to 2.2.3
    • Update to 2.3.3
    • Update to 2.4.2
    Published Updated
  7. CVE-2021-29531

    Low · CVSS 2.5EPSS 0.19%Fix available

    CHECK-fail in tf.raw_ops.EncodePng

    TensorFlow is an end-to-end open source platform for machine learning. An attacker can trigger a `CHECK` fail in PNG encoding by providing an empty input tensor as the pixel data. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/e312e0791ce486a80c9d23110841525c6f7c3289/tensorflow/core/kernels/image/encode_png_op.cc#L57-L60) only validates that the total number of pixels in the image does not overflow. Thus, an attacker can send an empty matrix for encoding. However, if the tensor is empty, then the associated buffer is `nullptr`. Hence, when calling `png::WriteImageToBuffer`(https://github.com/tensorflow/tensor

    • Update to 2.1.4
    • Update to 2.2.3
    • Update to 2.3.3
    • Update to 2.4.2
    Published Updated
  8. CVE-2021-29532

    Low · CVSS 2.5EPSS 0.2%Fix available

    Heap out of bounds read in `RaggedCross`

    TensorFlow is an end-to-end open source platform for machine learning. An attacker can force accesses outside the bounds of heap allocated arrays by passing in invalid tensor values to `tf.raw_ops.RaggedCross`. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/efea03b38fb8d3b81762237dc85e579cc5fc6e87/tensorflow/core/kernels/ragged_cross_op.cc#L456-L487) lacks validation for the user supplied arguments. Each of the above branches call a helper function after accessing array elements via a `*_list[next_*]` pattern, followed by incrementing the `next_*` index. However, as there is no validation that the `next_*` va

    • 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-29533

    Low · CVSS 2.5EPSS 0.22%Fix available

    CHECK-fail in DrawBoundingBoxes

    TensorFlow is an end-to-end open source platform for machine learning. An attacker can trigger a denial of service via a `CHECK` failure by passing an empty image to `tf.raw_ops.DrawBoundingBoxes`. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/ea34a18dc3f5c8d80a40ccca1404f343b5d55f91/tensorflow/core/kernels/image/draw_bounding_box_op.cc#L148-L165) uses `CHECK_*` assertions instead of `OP_REQUIRES` to validate user controlled inputs. Whereas `OP_REQUIRES` allows returning an error condition back to the user, the `CHECK_*` macros result in a crash if the condition is false, similar to `assert`. In this case, `

    • 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
  10. CVE-2021-29534

    Low · CVSS 2.5EPSS 0.19%Fix available

    CHECK-fail in SparseConcat

    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 `tf.raw_ops.SparseConcat`. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/b432a38fe0e1b4b904a6c222cbce794c39703e87/tensorflow/core/kernels/sparse_concat_op.cc#L76) takes the values specified in `shapes[0]` as dimensions for the output shape. The `TensorShape` constructor(https://github.com/tensorflow/tensorflow/blob/6f9896890c4c703ae0a0845394086e2e1e523299/tensorflow/core/framework/tensor_shape.cc#L183-L188) uses a `CHECK` operation which triggers when `InitDims`(https://git

    • 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
  11. CVE-2021-29535

    Low · CVSS 2.5EPSS 0.21%Fix available

    Heap buffer overflow in `QuantizedMul`

    TensorFlow is an end-to-end open source platform for machine learning. An attacker can cause a heap buffer overflow in `QuantizedMul` by passing in invalid thresholds for the quantization. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/87cf4d3ea9949051e50ca3f071fc909538a51cd0/tensorflow/core/kernels/quantized_mul_op.cc#L287-L290) assumes that the 4 arguments are always valid scalars and tries to access the numeric value directly. However, if any of these tensors is empty, then `.flat<T>()` is an empty buffer and accessing the element at position 0 results in overflow. 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
  12. CVE-2021-29536

    Low · CVSS 2.5EPSS 0.21%Fix available

    Heap buffer overflow in `QuantizedReshape`

    TensorFlow is an end-to-end open source platform for machine learning. An attacker can cause a heap buffer overflow in `QuantizedReshape` by passing in invalid thresholds for the quantization. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/a324ac84e573fba362a5e53d4e74d5de6729933e/tensorflow/core/kernels/quantized_reshape_op.cc#L38-L55) assumes that the 2 arguments are always valid scalars and tries to access the numeric value directly. However, if any of these tensors is empty, then `.flat<T>()` is an empty buffer and accessing the element at position 0 results in overflow. The fix will be included in TensorF

    • 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
  13. CVE-2021-29537

    Low · CVSS 2.5EPSS 0.21%Fix available

    Heap buffer overflow in `QuantizedResizeBilinear`

    TensorFlow is an end-to-end open source platform for machine learning. An attacker can cause a heap buffer overflow in `QuantizedResizeBilinear` by passing in invalid thresholds for the quantization. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/50711818d2e61ccce012591eeb4fdf93a8496726/tensorflow/core/kernels/quantized_resize_bilinear_op.cc#L705-L706) assumes that the 2 arguments are always valid scalars and tries to access the numeric value directly. 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,

    • 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
  14. CVE-2021-29538

    Low · CVSS 2.5EPSS 0.19%Fix available

    Division by zero in `Conv2DBackpropFilter`

    TensorFlow is an end-to-end open source platform for machine learning. An attacker can cause a division by zero to occur in `Conv2DBackpropFilter`. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/1b0296c3b8dd9bd948f924aa8cd62f87dbb7c3da/tensorflow/core/kernels/conv_grad_filter_ops.cc#L513-L522) computes a divisor based on user provided data (i.e., the shape of the tensors given as arguments). If all shapes are empty then `work_unit_size` is 0. Since there is no check for this case before division, this results in a runtime exception, with potential to be abused for a denial of service. The fix will be included

    • 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
  15. CVE-2021-29539

    Low · CVSS 2.5EPSS 0.19%Fix available

    Segfault in tf.raw_ops.ImmutableConst

    TensorFlow is an end-to-end open source platform for machine learning. Calling `tf.raw_ops.ImmutableConst`(https://www.tensorflow.org/api_docs/python/tf/raw_ops/ImmutableConst) with a `dtype` of `tf.resource` or `tf.variant` results in a segfault in the implementation as code assumes that the tensor contents are pure scalars. We have patched the issue in 4f663d4b8f0bec1b48da6fa091a7d29609980fa4 and will release TensorFlow 2.5.0 containing the patch. TensorFlow nightly packages after this commit will also have the issue resolved. If using `tf.raw_ops.ImmutableConst` in code, you can prevent the segfault by inserting a filter for the `dtype` ar

    • 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
  16. CVE-2021-29540

    Low · CVSS 2.5EPSS 0.21%Fix available

    Heap buffer overflow in `Conv2DBackpropFilter`

    TensorFlow is an end-to-end open source platform for machine learning. An attacker can cause a heap buffer overflow to occur in `Conv2DBackpropFilter`. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/1b0296c3b8dd9bd948f924aa8cd62f87dbb7c3da/tensorflow/core/kernels/conv_grad_filter_ops.cc#L495-L497) computes the size of the filter tensor but does not validate that it matches the number of elements in `filter_sizes`. Later, when reading/writing to this buffer, code uses the value computed here, instead of the number of elements in the tensor. The fix will be included in TensorFlow 2.5.0. We will also cherrypick

    • 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
  17. CVE-2021-29541

    Low · CVSS 2.5EPSS 0.19%Fix available

    Null pointer dereference in `StringNGrams`

    TensorFlow is an end-to-end open source platform for machine learning. An attacker can trigger a dereference of a null pointer in `tf.raw_ops.StringNGrams`. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/1cdd4da14282210cc759e468d9781741ac7d01bf/tensorflow/core/kernels/string_ngrams_op.cc#L67-L74) does not fully validate the `data_splits` argument. This would result in `ngrams_data`(https://github.com/tensorflow/tensorflow/blob/1cdd4da14282210cc759e468d9781741ac7d01bf/tensorflow/core/kernels/string_ngrams_op.cc#L106-L110) to be a null pointer when the output would be computed to have 0 or negative size. Later

    • Update to 2.1.4
    • Update to 2.2.3
    • Update to 2.3.3
    • Update to 2.4.2
    Published Updated
  18. CVE-2021-29542

    Low · CVSS 2.5EPSS 0.2%Fix available

    Heap buffer overflow in `StringNGrams`

    TensorFlow is an end-to-end open source platform for machine learning. An attacker can cause a heap buffer overflow by passing crafted inputs to `tf.raw_ops.StringNGrams`. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/1cdd4da14282210cc759e468d9781741ac7d01bf/tensorflow/core/kernels/string_ngrams_op.cc#L171-L185) fails to consider corner cases where input would be split in such a way that the generated tokens should only contain padding elements. If input is such that `num_tokens` is 0, then, for `data_start_index=0` (when left padding is present), the marked line would result in reading `data[-1]`. The fix w

    • Update to 2.1.4
    • Update to 2.2.3
    • Update to 2.3.3
    • Update to 2.4.2
    Published Updated
  19. CVE-2021-29543

    Low · CVSS 2.5EPSS 0.19%Fix available

    CHECK-fail in `CTCGreedyDecoder`

    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 `tf.raw_ops.CTCGreedyDecoder`. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/1615440b17b364b875eb06f43d087381f1460a65/tensorflow/core/kernels/ctc_decoder_ops.cc#L37-L50) has a `CHECK_LT` inserted to validate some invariants. When this condition is false, the program aborts, instead of returning a valid error to the user. This abnormal termination can be weaponized in denial of service attacks. The fix will be included in TensorFlow 2.5.0. We will also cherrypick this commit

    • 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
  20. CVE-2021-29544

    Low · CVSS 2.5EPSS 0.31%Fix available

    CHECK-fail in `QuantizeAndDequantizeV4Grad`

    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 `tf.raw_ops.QuantizeAndDequantizeV4Grad`. This is because the implementation does not validate the rank of the `input_*` tensors. In turn, this results in the tensors being passes as they are to `QuantizeAndDequantizePerChannelGradientImpl`. However, the `vec<T>` method, requires the rank to 1 and triggers a `CHECK` failure otherwise. The fix will be included in TensorFlow 2.5.0. We will also cherrypick this commit on TensorFlow 2.4.2 as this is the only other affected version.

    • Update to 2.2.0rc0
    • Update to 2.3.0rc0
    • Update to 2.3.4
    • Update to 2.4.2
    • Update to 2.4.3
    Published Updated

Check your server

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

Check your server →