CVE-2020-15191 Undefined behavior in Tensorflow

Medium 5.3 Published Updated

An attacker can cause a denial of service in TensorFlow by passing invalid arguments to dlpack.to_dlpack, triggering a null pointer dereference.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2020-15191?

CVE-2020-15191 is a medium-severity vulnerability in Google Tensorflow, published on 25 Sep 2020. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

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.

Weakness: CWE-252, CWE-476, CWE-20

Which versions are affected by CVE-2020-15191?

16 open source packages ship an affected version, including tensorflow, tensorflow-cpu and tensorflow-gpu. It affects 2 products.

PackageAffectedFixed in
tensorflow BitnamiFrom 2.2.02.2.1, 2.3.1
tensorflow PyPIAll versions2.2.1, 2.3.1
tensorflow PyPIFrom 2.2.02.2.1
tensorflow PyPIFrom 2.2.02.2.1
tensorflow PyPIFrom 2.3.02.3.1
tensorflow PyPIFrom 2.3.02.3.1
10 more packages
tensorflow-cpu PyPIAll versions2.2.1, 2.3.1
tensorflow-cpu PyPIFrom 2.2.02.2.1
tensorflow-cpu PyPIFrom 2.2.02.2.1
tensorflow-cpu PyPIFrom 2.3.02.3.1
tensorflow-cpu PyPIFrom 2.3.02.3.1
tensorflow-gpu PyPIAll versions2.2.1, 2.3.1
tensorflow-gpu PyPIFrom 2.2.02.2.1
tensorflow-gpu PyPIFrom 2.2.02.2.1
tensorflow-gpu PyPIFrom 2.3.02.3.1
tensorflow-gpu PyPIFrom 2.3.02.3.1

Products include Google Tensorflow, Opensuse Leap.

How do I fix CVE-2020-15191?

Upgrade tensorflow to a fixed version for your release line: 2.2.1 or 2.3.1.

Is CVE-2020-15191 being exploited?

There is no known exploitation of CVE-2020-15191 in the wild and no public exploit code.

All Google Tensorflow vulnerabilities

Sources

Also known as BIT-tensorflow-2020-15191, GHSA-q8qj-fc9q-cphr, PYSEC-2020-114, PYSEC-2020-271, PYSEC-2020-306.

Is CVE-2020-15191 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free