Description
TensorFlow is an end-to-end open source platform for machine learning. An attacker can cause a denial of service via a FPE runtime error in `tf.raw_ops.DenseCountSparseOutput`. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/efff014f3b2d8ef6141da30c806faf141297eca1/tensorflow/core/kernels/count_ops.cc#L123-L127) computes a divisor value from user data but does not check that the result is 0 before doing the division. Since `data` is given by the `values` argument, `num_batch_elements` is 0. The fix will be included in TensorFlow 2.5.0. We will also cherrypick this commit on TensorFlow 2.4.2, and TensorFlow 2.3.3, as these are also affected.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| tensorflow | tensorflow | < 2.3.3, >= 2.4.0, < 2.4.2 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| PyPI | tensorflow | >= 2.3.0, < 2.3.3 | 2.3.3 | GHSA-qg48-85hg-mqc5 |
| PyPI | tensorflow | >= 2.4.0, < 2.4.2 | 2.4.2 | GHSA-qg48-85hg-mqc5 |
| PyPI | tensorflow | < 2.1.4 · >= 2.2.0, < 2.2.3 · >= 2.3.0, < 2.3.3 · >= 2.4.0, < 2.4.2 | 2.1.4, 2.2.3, 2.3.3, 2.4.2 | PYSEC-2021-191 |
| PyPI | tensorflow-cpu | >= 2.3.0, < 2.3.3 | 2.3.3 | GHSA-qg48-85hg-mqc5 |
| PyPI | tensorflow-cpu | >= 2.4.0, < 2.4.2 | 2.4.2 | GHSA-qg48-85hg-mqc5 |
| PyPI | tensorflow-cpu | < 2.1.4 · >= 2.2.0, < 2.2.3 · >= 2.3.0, < 2.3.3 · >= 2.4.0, < 2.4.2 | 2.1.4, 2.2.3, 2.3.3, 2.4.2 | PYSEC-2021-482 |
| PyPI | tensorflow-gpu | >= 2.3.0, < 2.3.3 | 2.3.3 | GHSA-qg48-85hg-mqc5 |
| PyPI | tensorflow-gpu | >= 2.4.0, < 2.4.2 | 2.4.2 | GHSA-qg48-85hg-mqc5 |
| PyPI | tensorflow-gpu | < 2.1.4 · >= 2.2.0, < 2.2.3 · >= 2.3.0, < 2.3.3 · >= 2.4.0, < 2.4.2 | 2.1.4, 2.2.3, 2.3.3, 2.4.2 | PYSEC-2021-680 |