p PatchFirst

PatchFirst · Свежие уязвимости

Уязвимости tensorflow-cpu · Страница 19

За последние 30 дней в tensorflow-cpu опубликовано уязвимостей: 0; в каталоге KEV: 0.

Фильтры уязвимостей
Сбросить фильтры

Уязвимостей: 430

  1. CVE-2021-29528

    Низкий · CVSS 2.5EPSS 0,19%Есть исправление

    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.

    • Обновитесь до 2.1.4
    • Обновитесь до 2.2.3
    • Обновитесь до 2.3.3
    • Обновитесь до 2.4.2
  2. CVE-2021-29529

    Низкий · CVSS 2.5EPSS 0,25%Есть исправление

    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

    • Обновитесь до 2.1.4
    • Обновитесь до 2.2.3
    • Обновитесь до 2.3.3
    • Обновитесь до 2.4.2
  3. CVE-2021-29530

    Низкий · CVSS 2.5EPSS 0,23%Есть исправление

    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

    • Обновитесь до 2.1.4
    • Обновитесь до 2.2.3
    • Обновитесь до 2.3.3
    • Обновитесь до 2.4.2
  4. CVE-2021-29531

    Низкий · CVSS 2.5EPSS 0,19%Есть исправление

    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

    • Обновитесь до 2.1.4
    • Обновитесь до 2.2.3
    • Обновитесь до 2.3.3
    • Обновитесь до 2.4.2
  5. CVE-2021-29532

    Низкий · CVSS 2.5EPSS 0,2%Есть исправление

    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

    • Обновитесь до 2.1.4
    • Обновитесь до 2.2.0rc0
    • Обновитесь до 2.2.3
    • Обновитесь до 2.3.0rc0
    • Обновитесь до 2.3.3
    • Обновитесь до 2.3.4
    • Обновитесь до 2.4.2
    • Обновитесь до 2.4.3
  6. CVE-2021-29533

    Низкий · CVSS 2.5EPSS 0,22%Есть исправление

    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, `

    • Обновитесь до 2.1.4
    • Обновитесь до 2.2.0rc0
    • Обновитесь до 2.2.3
    • Обновитесь до 2.3.0rc0
    • Обновитесь до 2.3.3
    • Обновитесь до 2.3.4
    • Обновитесь до 2.4.2
    • Обновитесь до 2.4.3
  7. CVE-2021-29534

    Низкий · CVSS 2.5EPSS 0,19%Есть исправление

    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

    • Обновитесь до 2.1.4
    • Обновитесь до 2.2.0rc0
    • Обновитесь до 2.2.3
    • Обновитесь до 2.3.0rc0
    • Обновитесь до 2.3.3
    • Обновитесь до 2.3.4
    • Обновитесь до 2.4.2
    • Обновитесь до 2.4.3
  8. CVE-2021-29535

    Низкий · CVSS 2.5EPSS 0,21%Есть исправление

    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.

    • Обновитесь до 2.1.4
    • Обновитесь до 2.2.0rc0
    • Обновитесь до 2.2.3
    • Обновитесь до 2.3.0rc0
    • Обновитесь до 2.3.3
    • Обновитесь до 2.3.4
    • Обновитесь до 2.4.2
    • Обновитесь до 2.4.3
  9. CVE-2021-29536

    Низкий · CVSS 2.5EPSS 0,21%Есть исправление

    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

    • Обновитесь до 2.1.4
    • Обновитесь до 2.2.0rc0
    • Обновитесь до 2.2.3
    • Обновитесь до 2.3.0rc0
    • Обновитесь до 2.3.3
    • Обновитесь до 2.3.4
    • Обновитесь до 2.4.2
    • Обновитесь до 2.4.3
  10. CVE-2021-29537

    Низкий · CVSS 2.5EPSS 0,21%Есть исправление

    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,

    • Обновитесь до 2.1.4
    • Обновитесь до 2.2.0rc0
    • Обновитесь до 2.2.3
    • Обновитесь до 2.3.0rc0
    • Обновитесь до 2.3.3
    • Обновитесь до 2.3.4
    • Обновитесь до 2.4.2
    • Обновитесь до 2.4.3
  11. CVE-2021-29538

    Низкий · CVSS 2.5EPSS 0,19%Есть исправление

    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

    • Обновитесь до 2.1.4
    • Обновитесь до 2.2.0rc0
    • Обновитесь до 2.2.3
    • Обновитесь до 2.3.0rc0
    • Обновитесь до 2.3.3
    • Обновитесь до 2.3.4
    • Обновитесь до 2.4.2
    • Обновитесь до 2.4.3
  12. CVE-2021-29539

    Низкий · CVSS 2.5EPSS 0,19%Есть исправление

    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

    • Обновитесь до 2.1.4
    • Обновитесь до 2.2.0rc0
    • Обновитесь до 2.2.3
    • Обновитесь до 2.3.0rc0
    • Обновитесь до 2.3.3
    • Обновитесь до 2.3.4
    • Обновитесь до 2.4.2
    • Обновитесь до 2.4.3
  13. CVE-2021-29540

    Низкий · CVSS 2.5EPSS 0,21%Есть исправление

    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

    • Обновитесь до 2.1.4
    • Обновитесь до 2.2.0rc0
    • Обновитесь до 2.2.3
    • Обновитесь до 2.3.0rc0
    • Обновитесь до 2.3.3
    • Обновитесь до 2.3.4
    • Обновитесь до 2.4.2
    • Обновитесь до 2.4.3
  14. CVE-2021-29541

    Низкий · CVSS 2.5EPSS 0,19%Есть исправление

    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

    • Обновитесь до 2.1.4
    • Обновитесь до 2.2.3
    • Обновитесь до 2.3.3
    • Обновитесь до 2.4.2
  15. CVE-2021-29542

    Низкий · CVSS 2.5EPSS 0,2%Есть исправление

    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

    • Обновитесь до 2.1.4
    • Обновитесь до 2.2.3
    • Обновитесь до 2.3.3
    • Обновитесь до 2.4.2
  16. CVE-2021-29543

    Низкий · CVSS 2.5EPSS 0,19%Есть исправление

    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

    • Обновитесь до 2.1.4
    • Обновитесь до 2.2.0rc0
    • Обновитесь до 2.2.3
    • Обновитесь до 2.3.0rc0
    • Обновитесь до 2.3.3
    • Обновитесь до 2.3.4
    • Обновитесь до 2.4.2
    • Обновитесь до 2.4.3
  17. CVE-2021-29544

    Низкий · CVSS 2.5EPSS 0,31%Есть исправление

    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.

    • Обновитесь до 2.2.0rc0
    • Обновитесь до 2.3.0rc0
    • Обновитесь до 2.3.4
    • Обновитесь до 2.4.2
    • Обновитесь до 2.4.3
  18. CVE-2021-29545

    Низкий · CVSS 2.5EPSS 0,19%Есть исправление

    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.

    • Обновитесь до 2.1.4
    • Обновитесь до 2.2.0rc0
    • Обновитесь до 2.2.3
    • Обновитесь до 2.3.0rc0
    • Обновитесь до 2.3.3
    • Обновитесь до 2.3.4
    • Обновитесь до 2.4.2
    • Обновитесь до 2.4.3
  19. CVE-2021-29546

    Низкий · CVSS 2.5EPSS 0,2%Есть исправление

    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

    • Обновитесь до 2.1.4
    • Обновитесь до 2.2.0rc0
    • Обновитесь до 2.2.3
    • Обновитесь до 2.3.0rc0
    • Обновитесь до 2.3.3
    • Обновитесь до 2.3.4
    • Обновитесь до 2.4.2
    • Обновитесь до 2.4.3
  20. CVE-2021-29547

    Низкий · CVSS 2.5EPSS 0,19%Есть исправление

    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

    • Обновитесь до 2.1.4
    • Обновитесь до 2.2.0rc0
    • Обновитесь до 2.2.3
    • Обновитесь до 2.3.0rc0
    • Обновитесь до 2.3.3
    • Обновитесь до 2.3.4
    • Обновитесь до 2.4.2
    • Обновитесь до 2.4.3

Проверьте свой сервер

Сопоставьте установленный стек и версии со свежими базами уязвимостей.

Проверьте свой сервер →