CVE-2020-15194: Denial of Service in Tensorflow

Published Sep 25, 2020
·
Updated

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

21 affected componentsFixes available
pip/tensorflow-gpu=2.3.0
2.3.1
pip/tensorflow-gpu=2.2.0
2.2.1
pip/tensorflow-gpu>=2.1.0<2.1.2
2.1.2
pip/tensorflow-gpu>=2.0.0<2.0.3
2.0.3
pip/tensorflow-gpu<1.15.4
1.15.4
pip/tensorflow-cpu=2.3.0
2.3.1
pip/tensorflow-cpu=2.2.0
2.2.1
pip/tensorflow-cpu>=2.1.0<2.1.2
2.1.2
pip/tensorflow-cpu>=2.0.0<2.0.3
2.0.3
pip/tensorflow-cpu<1.15.4
1.15.4
pip/tensorflow=2.3.0
2.3.1
pip/tensorflow=2.2.0
2.2.1
pip/tensorflow>=2.1.0<2.1.2
2.1.2
pip/tensorflow>=2.0.0<2.0.3
2.0.3
pip/tensorflow<1.15.4
1.15.4
Google TensorFlow<1.15.4
Google TensorFlow>=2.0.0<2.0.3
Google TensorFlow>=2.1.0<2.1.2
Google TensorFlow>=2.2.0<2.2.1
Google TensorFlow>=2.3.0<2.3.1
openSUSE Leap=15.2

Event History

Sep 25, 2020
Advisory Published
via GitHub·06:28 PM
CVE Published
via MITRE·06:40 PM
Data Sourced
via MITRE·06:40 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·07:15 PM
RemedyDescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

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.

2

How do I fix CVE-2020-15194?

To fix CVE-2020-15194, upgrade to TensorFlow version 2.3.1 or higher.

3

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.

4

Is CVE-2020-15194 specific to TensorFlow GPU or CPU versions?

CVE-2020-15194 impacts both TensorFlow GPU and CPU versions.

5

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.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203