p PatchFirst

PatchFirst · Vulnerabilidades recientes

Vulnerabilidades de tensorflow · Página 21

Vulnerabilidades publicadas para tensorflow en los últimos 30 días: 0. Incluidas en el catálogo KEV: 0.

Filtrar vulnerabilidades
Borrar filtros

Vulnerabilidades: 434

  1. CVE-2020-15212

    Alta · CVSS 8.1EPSS 0,74%Corrección disponible

    Out of bounds access in tensorflow-lite

    In TensorFlow Lite before versions 2.2.1 and 2.3.1, models using segment sum can trigger writes outside of bounds of heap allocated buffers by inserting negative elements in the segment ids tensor. Users having access to `segment_ids_data` can alter `output_index` and then write to outside of `output_data` buffer. This might result in a segmentation fault but it can also be used to further corrupt the memory and can be chained with other vulnerabilities to create more advanced exploits. The issue is patched in commit 204945b19e44b57906c9344c0d00120eeeae178a and is released in TensorFlow versions 2.2.1, or 2.3.1. A potential workaround would b

    • Actualiza a 2.2.1
    • Actualiza a 2.3.1
    Publicación Actualización
  2. CVE-2020-15213

    Media · CVSS 4EPSS 0,76%Corrección disponible

    Denial of service in tensorflow-lite

    In TensorFlow Lite before versions 2.2.1 and 2.3.1, models using segment sum can trigger a denial of service by causing an out of memory allocation in the implementation of segment sum. Since code uses the last element of the tensor holding them to determine the dimensionality of output tensor, attackers can use a very large value to trigger a large allocation. The issue is patched in commit 204945b19e44b57906c9344c0d00120eeeae178a and is released in TensorFlow versions 2.2.1, or 2.3.1. A potential workaround would be to add a custom `Verifier` to limit the maximum value in the segment ids tensor. This only handles the case when the segment i

    • Actualiza a 2.2.1
    • Actualiza a 2.3.1
    Publicación Actualización
  3. CVE-2020-15214

    Alta · CVSS 8.1EPSS 0,67%Corrección disponible

    Out of bounds write in tensorflow-lite

    In TensorFlow Lite before versions 2.2.1 and 2.3.1, models using segment sum can trigger a write out bounds / segmentation fault if the segment ids are not sorted. Code assumes that the segment ids are in increasing order, using the last element of the tensor holding them to determine the dimensionality of output tensor. This results in allocating insufficient memory for the output tensor and in a write outside the bounds of the output array. This usually results in a segmentation fault, but depending on runtime conditions it can provide for a write gadget to be used in future memory corruption-based exploits. The issue is patched in commit 2

    • Actualiza a 2.2.1
    • Actualiza a 2.3.1
    Publicación Actualización
  4. CVE-2020-15201

    Media · CVSS 4.8EPSS 0,57%Corrección disponible

    Heap buffer overflow 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. Hence, the code is prone to heap buffer overflow. If `split_values` does not end with a value at least `num_values` then the `while` loop condition will trigger a read outside of the bounds of `split_values` once `batch_idx` grows too large. The issue is patched in commit 3cbb917b4714766030b28eba9fb41bb97ce9ee02 and is released in TensorFlow version 2.3.1.

    • Actualiza a 2.3.1
    Publicación Actualización
  5. CVE-2020-15202

    Crítica · CVSS 9EPSS 1,29%Corrección disponible

    Integer truncation in Shard API usage

    In Tensorflow before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1, the `Shard` API in TensorFlow expects the last argument to be a function taking two `int64` (i.e., `long long`) arguments. However, there are several places in TensorFlow where a lambda taking `int` or `int32` arguments is being used. In these cases, if the amount of work to be parallelized is large enough, integer truncation occurs. Depending on how the two arguments of the lambda are used, this can result in segfaults, read/write outside of heap allocated arrays, stack overflows, or data corruption. The issue is patched in commits 27b417360cbd671ef55915e4bb6bb06af8b8a832 a

    • Actualiza a 1.15.4
    • Actualiza a 2.0.3
    • Actualiza a 2.1.2
    • Actualiza a 2.2.1
    • Actualiza a 2.3.1
    Publicación Actualización
  6. CVE-2020-15203

    Alta · CVSS 7.5EPSS 0,97%Corrección disponible

    Denial of Service in Tensorflow

    In Tensorflow before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1, by controlling the `fill` argument of tf.strings.as_string, a malicious attacker is able to trigger a format string vulnerability due to the way the internal format use in a `printf` call is constructed. This may result in segmentation fault. The issue is patched in commit 33be22c65d86256e6826666662e40dbdfe70ee83, and is released in TensorFlow versions 1.15.4, 2.0.3, 2.1.2, 2.2.1, or 2.3.1.

    • Actualiza a 1.15.4
    • Actualiza a 2.0.3
    • Actualiza a 2.1.2
    • Actualiza a 2.2.1
    • Actualiza a 2.3.1
    Publicación Actualización
  7. CVE-2020-15204

    Media · CVSS 5.3EPSS 0,9%Corrección disponible

    Segfault in Tensorflow

    In eager mode, TensorFlow before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1 does not set the session state. Hence, calling `tf.raw_ops.GetSessionHandle` or `tf.raw_ops.GetSessionHandleV2` results in a null pointer dereference In linked snippet, in eager mode, `ctx->session_state()` returns `nullptr`. Since code immediately dereferences this, we get a segmentation fault. The issue is patched in commit 9a133d73ae4b4664d22bd1aa6d654fec13c52ee1, and is released in TensorFlow versions 1.15.4, 2.0.3, 2.1.2, 2.2.1, or 2.3.1.

    • Actualiza a 1.15.4
    • Actualiza a 2.0.3
    • Actualiza a 2.1.2
    • Actualiza a 2.2.1
    • Actualiza a 2.3.1
    Publicación Actualización
  8. CVE-2020-15205

    Crítica · CVSS 9EPSS 1,03%Corrección disponible

    Data leak in Tensorflow

    In Tensorflow before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1, the `data_splits` argument of `tf.raw_ops.StringNGrams` lacks validation. This allows a user to pass values that can cause heap overflow errors and even leak contents of memory In the linked code snippet, all the binary strings after `ee ff` are contents from the memory stack. Since these can contain return addresses, this data leak can be used to defeat ASLR. The issue is patched in commit 0462de5b544ed4731aa2fb23946ac22c01856b80, and is released in TensorFlow versions 1.15.4, 2.0.3, 2.1.2, 2.2.1, or 2.3.1.

    • Actualiza a 1.15.4
    • Actualiza a 2.0.3
    • Actualiza a 2.1.2
    • Actualiza a 2.2.1
    • Actualiza a 2.3.1
    Publicación Actualización
  9. CVE-2020-15206

    Crítica · CVSS 9EPSS 0,96%Corrección disponible

    Denial of Service in Tensorflow

    In Tensorflow before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1, changing the TensorFlow's `SavedModel` protocol buffer and altering the name of required keys results in segfaults and data corruption while loading the model. This can cause a denial of service in products using `tensorflow-serving` or other inference-as-a-service installments. Fixed were added in commits f760f88b4267d981e13f4b302c437ae800445968 and fcfef195637c6e365577829c4d67681695956e7d (both going into TensorFlow 2.2.0 and 2.3.0 but not yet backported to earlier versions). However, this was not enough, as #41097 reports a different failure mode. The issue is patched in

    • Actualiza a 1.15.4
    • Actualiza a 2.0.3
    • Actualiza a 2.1.2
    • Actualiza a 2.2.1
    • Actualiza a 2.3.1
    Publicación Actualización
  10. CVE-2020-15207

    Alta · CVSS 8.7EPSS 1,24%Corrección disponible

    Segfault and data corruption in tensorflow-lite

    In tensorflow-lite before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1, to mimic Python's indexing with negative values, TFLite uses `ResolveAxis` to convert negative values to positive indices. However, the only check that the converted index is now valid is only present in debug builds. If the `DCHECK` does not trigger, then code execution moves ahead with a negative index. This, in turn, results in accessing data out of bounds which results in segfaults and/or data corruption. The issue is patched in commit 2d88f470dea2671b430884260f3626b1fe99830a, and is released in TensorFlow versions 1.15.4, 2.0.3, 2.1.2, 2.2.1, or 2.3.1.

    • Actualiza a 1.15.4
    • Actualiza a 2.0.3
    • Actualiza a 2.1.2
    • Actualiza a 2.2.1
    • Actualiza a 2.3.1
    Publicación Actualización
  11. CVE-2020-15208

    Alta · CVSS 7.4EPSS 0,91%Corrección disponible

    Data corruption in tensorflow-lite

    In tensorflow-lite before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1, when determining the common dimension size of two tensors, TFLite uses a `DCHECK` which is no-op outside of debug compilation modes. Since the function always returns the dimension of the first tensor, malicious attackers can craft cases where this is larger than that of the second tensor. In turn, this would result in reads/writes outside of bounds since the interpreter will wrongly assume that there is enough data in both tensors. The issue is patched in commit 8ee24e7949a203d234489f9da2c5bf45a7d5157d, and is released in TensorFlow versions 1.15.4, 2.0.3, 2.1.2, 2.2.1

    • Actualiza a 1.15.4
    • Actualiza a 2.0.3
    • Actualiza a 2.1.2
    • Actualiza a 2.2.1
    • Actualiza a 2.3.1
    Publicación Actualización
  12. CVE-2020-15209

    Media · CVSS 5.9EPSS 0,8%Corrección disponible

    Null pointer dereference in tensorflow-lite

    In tensorflow-lite before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1, a crafted TFLite model can force a node to have as input a tensor backed by a `nullptr` buffer. This can be achieved by changing a buffer index in the flatbuffer serialization to convert a read-only tensor to a read-write one. The runtime assumes that these buffers are written to before a possible read, hence they are initialized with `nullptr`. However, by changing the buffer index for a tensor and implicitly converting that tensor to be a read-write one, as there is nothing in the model that writes to it, we get a null pointer dereference. The issue is patched in comm

    • Actualiza a 1.15.4
    • Actualiza a 2.0.3
    • Actualiza a 2.1.2
    • Actualiza a 2.2.1
    • Actualiza a 2.3.1
    Publicación Actualización
  13. CVE-2020-15210

    Media · CVSS 6.5EPSS 0,74%Corrección disponible

    Segmentation fault in tensorflow-lite

    In tensorflow-lite before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1, if a TFLite saved model uses the same tensor as both input and output of an operator, then, depending on the operator, we can observe a segmentation fault or just memory corruption. We have patched the issue in d58c96946b and will release patch releases for all versions between 1.15 and 2.3. We recommend users to upgrade to TensorFlow 1.15.4, 2.0.3, 2.1.2, 2.2.1, or 2.3.1.

    • Actualiza a 1.15.4
    • Actualiza a 2.0.3
    • Actualiza a 2.1.2
    • Actualiza a 2.2.1
    • Actualiza a 2.3.1
    Publicación Actualización
  14. CVE-2020-15211

    Media · CVSS 4.8EPSS 0,92%Corrección disponible

    Out of bounds access in tensorflow-lite

    In TensorFlow Lite before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1, saved models in the flatbuffer format use a double indexing scheme: a model has a set of subgraphs, each subgraph has a set of operators and each operator has a set of input/output tensors. The flatbuffer format uses indices for the tensors, indexing into an array of tensors that is owned by the subgraph. This results in a pattern of double array indexing when trying to get the data of each tensor. However, some operators can have some tensors be optional. To handle this scenario, the flatbuffer model uses a negative `-1` value as index for these tensors. This results i

    • Actualiza a 1.15.4
    • Actualiza a 2.0.3
    • Actualiza a 2.1.2
    • Actualiza a 2.2.1
    • Actualiza a 2.3.1
    Publicación Actualización
  15. CVE-2020-15191

    Media · CVSS 5.3EPSS 0,9%Corrección disponible

    Undefined behavior in Tensorflow

    In Tensorflow before versions 2.2.1 and 2.3.1, if a user passes an invalid argument to `dlpack.to_dlpack` the expected validations will cause variables to bind to `nullptr` while setting a `status` variable to the error condition. However, this `status` argument is not properly checked. Hence, code following these methods will bind references to null pointers. This is undefined behavior and reported as an error if compiling with `-fsanitize=null`. The issue is patched in commit 22e07fb204386768e5bcbea563641ea11f96ceb8 and is released in TensorFlow versions 2.2.1, or 2.3.1.

    • Actualiza a 2.2.1
    • Actualiza a 2.3.1
    Publicación Actualización
  16. CVE-2020-15192

    Media · CVSS 4.3EPSS 0,83%Corrección disponible

    Memory leak in Tensorflow

    In Tensorflow before versions 2.2.1 and 2.3.1, if a user passes a list of strings to `dlpack.to_dlpack` there is a memory leak following an expected validation failure. The issue occurs because the `status` argument during validation failures is not properly checked. Since each of the above methods can return an error status, the `status` value must be checked before continuing. The issue is patched in commit 22e07fb204386768e5bcbea563641ea11f96ceb8 and is released in TensorFlow versions 2.2.1, or 2.3.1.

    • Actualiza a 2.2.1
    • Actualiza a 2.3.1
    Publicación Actualización
  17. CVE-2020-15193

    Alta · CVSS 7.1EPSS 0,83%Corrección disponible

    Memory corruption in Tensorflow

    In Tensorflow before versions 2.2.1 and 2.3.1, the implementation of `dlpack.to_dlpack` can be made to use uninitialized memory resulting in further memory corruption. This is because the pybind11 glue code assumes that the argument is a tensor. However, there is nothing stopping users from passing in a Python object instead of a tensor. The uninitialized memory address is due to a `reinterpret_cast` Since the `PyObject` is a Python object, not a TensorFlow Tensor, the cast to `EagerTensor` fails. The issue is patched in commit 22e07fb204386768e5bcbea563641ea11f96ceb8 and is released in TensorFlow versions 2.2.1, or 2.3.1.

    • Actualiza a 2.2.1
    • Actualiza a 2.3.1
    Publicación Actualización
  18. CVE-2020-15194

    Media · CVSS 5.3EPSS 1,03%Corrección disponible

    Denial of Service in Tensorflow

    In Tensorflow before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1, the `SparseFillEmptyRowsGrad` implementation has incomplete validation of the shapes of its arguments. Although `reverse_index_map_t` and `grad_values_t` are accessed in a similar pattern, only `reverse_index_map_t` is validated to be of proper shape. Hence, malicious users can pass a bad `grad_values_t` to trigger an assertion failure in `vec`, causing denial of service in serving installations. The issue is patched in commit 390611e0d45c5793c7066110af37c8514e6a6c54, and is released in TensorFlow versions 1.15.4, 2.0.3, 2.1.2, 2.2.1, or 2.3.1."

    • Actualiza a 1.15.4
    • Actualiza a 2.0.3
    • Actualiza a 2.1.2
    • Actualiza a 2.2.1
    • Actualiza a 2.3.1
    Publicación Actualización
  19. CVE-2020-15195

    Alta · CVSS 8.5EPSS 0,95%Corrección disponible

    Heap buffer overflow in Tensorflow

    In Tensorflow before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1, the implementation of `SparseFillEmptyRowsGrad` uses a double indexing pattern. It is possible for `reverse_index_map(i)` to be an index outside of bounds of `grad_values`, thus resulting in a heap buffer overflow. The issue is patched in commit 390611e0d45c5793c7066110af37c8514e6a6c54, and is released in TensorFlow versions 1.15.4, 2.0.3, 2.1.2, 2.2.1, or 2.3.1.

    • Actualiza a 1.15.4
    • Actualiza a 2.0.3
    • Actualiza a 2.1.2
    • Actualiza a 2.2.1
    • Actualiza a 2.3.1
    Publicación Actualización
  20. CVE-2020-15196

    Alta · CVSS 8.5EPSS 0,91%Corrección disponible

    Heap buffer overflow in Tensorflow

    In Tensorflow version 2.3.0, the `SparseCountSparseOutput` and `RaggedCountSparseOutput` implementations don't validate that the `weights` tensor has the same shape as the data. The check exists for `DenseCountSparseOutput`, where both tensors are fully specified. In the sparse and ragged count weights are still accessed in parallel with the data. But, since there is no validation, a user passing fewer weights than the values for the tensors can generate a read from outside the bounds of the heap buffer allocated for the weights. The issue is patched in commit 3cbb917b4714766030b28eba9fb41bb97ce9ee02 and is released in TensorFlow version 2.3.

    • Actualiza a 2.3.1
    Publicación Actualización

Comprueba tu servidor

Compara tu pila y las versiones instaladas con las bases actuales de vulnerabilidades.

Comprueba tu servidor →