CVE-2020-15194: Denial of Service in Tensorflow
Impact The SparseFillEmptyRowsGrad implementation has incomplete validation of the shapes of its arguments: https://github.com/tensorflow/tensorflow/blob/0e68f4d3295eb0281a517c3662f6698992b7b2cf/tensorflow/core/kernels/sparsefillemptyrowsop.cc#L235-L241
Although reverseindexmapt and gradvaluest are accessed in a similar pattern, only reverseindexmapt is validated to be of proper shape. Hence, malicious users can pass a bad gradvaluest to trigger an assertion failure in vec, causing denial of service in serving installations.
Patches We have patched the issue in 390611e0d45c5793c7066110af37c8514e6a6c54 and will release a patch release for all affected versions.
We recommend users to upgrade to TensorFlow 1.15.4, 2.0.3, 2.1.2, 2.2.1, or 2.3.1.
For more information Please consult our security guide for more information regarding the security model and how to contact us with issues and questions.
Attribution This vulnerability is a variant of GHSA-63xm-rx5p-xvqr
Other sources
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 reverseindexmapt and gradvaluest are accessed in a similar pattern, only reverseindexmapt is validated to be of proper shape. Hence, malicious users can pass a bad gradvaluest 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."
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2020-15194?
CVE-2020-15194 has been classified as a medium severity vulnerability due to incomplete validation of argument shapes.
How do I fix CVE-2020-15194?
To fix CVE-2020-15194, upgrade to TensorFlow version 2.3.1 or higher.
Which versions of TensorFlow are affected by CVE-2020-15194?
CVE-2020-15194 affects TensorFlow versions 1.15.4 and the 2.x series up to and including 2.3.0.
Is CVE-2020-15194 specific to TensorFlow GPU or CPU versions?
CVE-2020-15194 impacts both TensorFlow GPU and CPU versions.
Where can I find the commit related to CVE-2020-15194?
The commit related to CVE-2020-15194 can be found within the TensorFlow GitHub repository.