p PatchFirst

PatchFirst · Latest vulnerabilities

tensorflow vulnerabilities · Page 15

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

    Medium · CVSS 5.5EPSS 0.15%Fix available

    Division by 0 in `ResourceScatterDiv` in TensorFlow

    TensorFlow is an end-to-end open source platform for machine learning. In affected versions the implementation of `tf.raw_ops.ResourceScatterDiv` is vulnerable to a division by 0 error. The [implementation](https://github.com/tensorflow/tensorflow/blob/8d72537c6abf5a44103b57b9c2e22c14f5f49698/tensorflow/core/kernels/resource_variable_ops.cc#L865) uses a common class for all binary operations but fails to treat the division by 0 case separately. We have patched the issue in GitHub commit 4aacb30888638da75023e6601149415b39763d76. The fix will be included in TensorFlow 2.6.0. We will also cherrypick this commit on TensorFlow 2.5.1, TensorFlow 2.

    • Update to 2.3.4
    • Update to 2.4.3
    • Update to 2.5.1
    Published Updated
  2. CVE-2021-37640

    Medium · CVSS 5.5EPSS 0.15%Fix available

    Integer division by 0 in sparse reshaping in TensorFlow

    TensorFlow is an end-to-end open source platform for machine learning. In affected versions the implementation of `tf.raw_ops.SparseReshape` can be made to trigger an integral division by 0 exception. The [implementation](https://github.com/tensorflow/tensorflow/blob/8d72537c6abf5a44103b57b9c2e22c14f5f49698/tensorflow/core/kernels/reshape_util.cc#L176-L181) calls the reshaping functor whenever there is at least an index in the input but does not check that shape of the input or the target shape have both a non-zero number of elements. The [reshape functor](https://github.com/tensorflow/tensorflow/blob/8d72537c6abf5a44103b57b9c2e22c14f5f49698/

    • Update to 2.3.4
    • Update to 2.4.3
    • Update to 2.5.1
    Published Updated
  3. CVE-2021-37636

    Medium · CVSS 5.5EPSS 0.15%Fix available

    Floating point exception in `SparseDenseCwiseDiv` in TensorFlow

    TensorFlow is an end-to-end open source platform for machine learning. In affected versions the implementation of `tf.raw_ops.SparseDenseCwiseDiv` is vulnerable to a division by 0 error. The [implementation](https://github.com/tensorflow/tensorflow/blob/a1bc56203f21a5a4995311825ffaba7a670d7747/tensorflow/core/kernels/sparse_dense_binary_op_shared.cc#L56) uses a common class for all binary operations but fails to treat the division by 0 case separately. We have patched the issue in GitHub commit d9204be9f49520cdaaeb2541d1dc5187b23f31d9. The fix will be included in TensorFlow 2.6.0. We will also cherrypick this commit on TensorFlow 2.5.1, Tenso

    • Update to 2.3.4
    • Update to 2.4.3
    • Update to 2.5.1
    Published Updated
  4. CVE-2021-29513

    Low · CVSS 2.5EPSS 0.2%Fix available

    Type confusion during tensor casts lead to dereferencing null pointers

    TensorFlow is an end-to-end open source platform for machine learning. Calling TF operations with tensors of non-numeric types when the operations expect numeric tensors result in null pointer dereferences. The conversion from Python array to C++ array(https://github.com/tensorflow/tensorflow/blob/ff70c47a396ef1e3cb73c90513da4f5cb71bebba/tensorflow/python/lib/core/ndarray_tensor.cc#L113-L169) is vulnerable to a type confusion. 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
  5. CVE-2021-29514

    Low · CVSS 2.5EPSS 0.21%Fix available

    Heap out of bounds write 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-L446). Before the `for` loop, `batch_idx` is set to 0. The attacker sets `splits(0)` to be 7, hence the `while` loop

    • Update to 2.2.0rc0
    • 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-29515

    Low · CVSS 2.5EPSS 0.2%Fix available

    Reference binding to null pointer in `MatrixDiag*` ops

    TensorFlow is an end-to-end open source platform for machine learning. The implementation of `MatrixDiag*` operations(https://github.com/tensorflow/tensorflow/blob/4c4f420e68f1cfaf8f4b6e8e3eb857e9e4c3ff33/tensorflow/core/kernels/linalg/matrix_diag_op.cc#L195-L197) does not validate that the tensor arguments are non-empty. 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
  7. CVE-2021-29516

    Low · CVSS 2.5EPSS 0.2%Fix available

    Null pointer dereference via invalid Ragged Tensors

    TensorFlow is an end-to-end open source platform for machine learning. Calling `tf.raw_ops.RaggedTensorToVariant` with arguments specifying an invalid ragged tensor results in a null pointer dereference. The implementation of `RaggedTensorToVariant` operations(https://github.com/tensorflow/tensorflow/blob/904b3926ed1c6c70380d5313d282d248a776baa1/tensorflow/core/kernels/ragged_tensor_to_variant_op.cc#L39-L40) does not validate that the ragged tensor argument is non-empty. Since `batched_ragged` contains no elements, `batched_ragged.splits` is a null vector, thus `batched_ragged.splits(0)` will result in dereferencing `nullptr`. The fix will be

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

    Low · CVSS 2.5EPSS 0.19%Fix available

    Division by zero in `Conv3D`

    TensorFlow is an end-to-end open source platform for machine learning. A malicious user could trigger a division by 0 in `Conv3D` implementation. The implementation(https://github.com/tensorflow/tensorflow/blob/42033603003965bffac51ae171b51801565e002d/tensorflow/core/kernels/conv_ops_3d.cc#L143-L145) does a modulo operation based on user controlled input. Thus, when `filter` has a 0 as the fifth element, this results in a division by 0. Additionally, if the shape of the two tensors is not valid, an Eigen assertion can be triggered, resulting in a program crash. 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.3
    • Update to 2.3.3
    • Update to 2.4.2
    Published Updated
  9. CVE-2021-29518

    Low · CVSS 2.5EPSS 0.2%Fix available

    Session operations in eager mode lead to null pointer dereferences

    TensorFlow is an end-to-end open source platform for machine learning. In eager mode (default in TF 2.0 and later), session operations are invalid. However, users could still call the raw ops associated with them and trigger a null pointer dereference. The implementation(https://github.com/tensorflow/tensorflow/blob/eebb96c2830d48597d055d247c0e9aebaea94cd5/tensorflow/core/kernels/session_ops.cc#L104) dereferences the session state pointer without checking if it is valid. Thus, in eager mode, `ctx->session_state()` is nullptr and the call of the member function is undefined behavior. The fix will be included in TensorFlow 2.5.0. We will also c

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

    Low · CVSS 2.5EPSS 0.19%Fix available

    CHECK-fail in SparseCross due to type confusion

    TensorFlow is an end-to-end open source platform for machine learning. The API of `tf.raw_ops.SparseCross` allows combinations which would result in a `CHECK`-failure and denial of service. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/3d782b7d47b1bf2ed32bd4a246d6d6cadc4c903d/tensorflow/core/kernels/sparse_cross_op.cc#L114-L116) is tricked to consider a tensor of type `tstring` which in fact contains integral elements. Fixing the type confusion by preventing mixing `DT_STRING` and `DT_INT64` types solves this issue. The fix will be included in TensorFlow 2.5.0. We will also cherrypick this commit on TensorFl

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

    Low · CVSS 2.5EPSS 0.22%Fix available

    Heap buffer overflow in `Conv3DBackprop*`

    TensorFlow is an end-to-end open source platform for machine learning. Missing validation between arguments to `tf.raw_ops.Conv3DBackprop*` operations can result in heap buffer overflows. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/4814fafb0ca6b5ab58a09411523b2193fed23fed/tensorflow/core/kernels/conv_grad_shape_utils.cc#L94-L153) assumes that the `input`, `filter_sizes` and `out_backprop` tensors have the same shape, as they are accessed in parallel. 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.3
    • Update to 2.3.3
    • Update to 2.4.2
    Published Updated
  12. CVE-2021-29521

    Low · CVSS 2.5EPSS 0.19%Fix available

    Segfault in SparseCountSparseOutput

    TensorFlow is an end-to-end open source platform for machine learning. Specifying a negative dense shape in `tf.raw_ops.SparseCountSparseOutput` results in a segmentation fault being thrown out from the standard library as `std::vector` invariants are broken. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/8f7b60ee8c0206a2c99802e3a4d1bb55d2bc0624/tensorflow/core/kernels/count_ops.cc#L199-L213) assumes the first element of the dense shape is always positive and uses it to initialize a `BatchedMap<T>` (i.e., `std::vector<absl::flat_hash_map<int64,T>>`(https://github.com/tensorflow/tensorflow/blob/8f7b60ee8c0206a

    • Update to 2.3.3
    • Update to 2.4.2
    Published Updated
  13. CVE-2021-29522

    Low · CVSS 2.5EPSS 0.19%Fix available

    Division by 0 in `Conv3DBackprop*`

    TensorFlow is an end-to-end open source platform for machine learning. The `tf.raw_ops.Conv3DBackprop*` operations fail to validate that the input tensors are not empty. In turn, this would result in a division by 0. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/a91bb59769f19146d5a0c20060244378e878f140/tensorflow/core/kernels/conv_grad_ops_3d.cc#L430-L450) does not check that the divisor used in computing the shard size is not zero. Thus, if attacker controls the input sizes, they can trigger a denial of service via a division by zero error. The fix will be included in TensorFlow 2.5.0. We will also cherrypi

    • Update to 2.1.4
    • Update to 2.2.3
    • Update to 2.3.3
    • Update to 2.4.2
    Published Updated
  14. CVE-2021-29523

    Low · CVSS 2.5EPSS 0.19%Fix available

    CHECK-fail in AddManySparseToTensorsMap

    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.AddManySparseToTensorsMap`. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/6f9896890c4c703ae0a0845394086e2e1e523299/tensorflow/core/kernels/sparse_tensors_map_ops.cc#L257) takes the values specified in `sparse_shape` 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

    • Update to 2.1.4
    • Update to 2.2.3
    • Update to 2.3.3
    • Update to 2.4.2
    Published Updated
  15. CVE-2021-29524

    Low · CVSS 2.5EPSS 0.19%Fix available

    Division by 0 in `Conv2DBackpropFilter`

    TensorFlow is an end-to-end open source platform for machine learning. An attacker can trigger a division by 0 in `tf.raw_ops.Conv2DBackpropFilter`. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/496c2630e51c1a478f095b084329acedb253db6b/tensorflow/core/kernels/conv_grad_shape_utils.cc#L130) does a modulus operation where the divisor 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
  16. CVE-2021-29585

    Low · CVSS 2.5EPSS 0.2%Fix available

    Division by zero in padding computation in TFLite

    TensorFlow is an end-to-end open source platform for machine learning. The TFLite computation for size of output after padding, `ComputeOutSize`(https://github.com/tensorflow/tensorflow/blob/0c9692ae7b1671c983569e5d3de5565843d500cf/tensorflow/lite/kernels/padding.h#L43-L55), does not check that the `stride` argument is not 0 before doing the division. Users can craft special models such that `ComputeOutSize` is called with `stride` set to 0. 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 supp

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

    Low · CVSS 2.5EPSS 0.2%Fix available

    Division by zero in optimized pooling implementations in TFLite

    TensorFlow is an end-to-end open source platform for machine learning. Optimized pooling implementations in TFLite fail to check that the stride arguments are not 0 before calling `ComputePaddingHeightWidth`(https://github.com/tensorflow/tensorflow/blob/3f24ccd932546416ec906a02ddd183b48a1d2c83/tensorflow/lite/kernels/pooling.cc#L90). Since users can craft special models which will have `params->stride_{height,width}` be zero, this will result in a division by 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.4, as these are also af

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

    Low · CVSS 2.5EPSS 0.2%Fix available

    Stack overflow in `ParseAttrValue` with nested tensors

    TensorFlow is an end-to-end open source platform for machine learning. The implementation of `ParseAttrValue`(https://github.com/tensorflow/tensorflow/blob/c22d88d6ff33031aa113e48aa3fc9aa74ed79595/tensorflow/core/framework/attr_value_util.cc#L397-L453) can be tricked into stack overflow due to recursion by giving in a specially crafted input. 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
  19. CVE-2021-29616

    Low · CVSS 2.5EPSS 0.21%Fix available

    Null dereference in Grappler's `TrySimplify`

    TensorFlow is an end-to-end open source platform for machine learning. The implementation of TrySimplify(https://github.com/tensorflow/tensorflow/blob/c22d88d6ff33031aa113e48aa3fc9aa74ed79595/tensorflow/core/grappler/optimizers/arithmetic_optimizer.cc#L390-L401) has undefined behavior due to dereferencing a null pointer in corner cases that result in optimizing a node with no inputs. 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
  20. CVE-2021-29617

    Low · CVSS 2.5EPSS 0.23%Fix available

    Crash in `tf.strings.substr` due to `CHECK`-fail

    TensorFlow is an end-to-end open source platform for machine learning. An attacker can cause a denial of service via `CHECK`-fail in `tf.strings.substr` with invalid arguments. 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

Check your server

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

Check your server →