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.
[
{
"digest": {
"line_hashes": [
"72393913217518281347375068281201240954",
"88181845039156400855791946809819040970",
"100098651302529629121122028015915145137",
"237038861069723650922054167167079494299"
],
"threshold": 0.9
},
"target": {
"file": "tensorflow/core/kernels/count_ops.cc"
},
"signature_type": "Line",
"id": "CVE-2021-29554-d41b253f",
"signature_version": "v1",
"deprecated": false,
"source": "https://github.com/tensorflow/tensorflow/commit/da5ff2daf618591f64b2b62d9d9803951b945e9f"
}
]