# What is CVE-2020-15202?

> CVE-2020-15202 is a critical-severity flaw (CVSS 9.0) in Tensorflow from Google, published on 25 September 2020. It is not on the list of flaws known to be exploited today. The latest forecast puts its chance of use in the next 30 days at 1.2%. If you run an affected version, plan in the vendor’s fix.

Canonical page: https://www.edgeprotect.io/what-is/cve-2020-15202

## At a glance

- **Verdict:** Fix this soon. Not confirmed as exploited yet, but serious or likely enough that it should not wait for a quiet month.
- **EdgeProtect risk score:** 52 out of 100 (Medium); action: Plan remediation. Kept up to date as the evidence changes.
- **Severity:** Critical (CVSS 9.0 out of 10)
- **Known to be exploited:** No, not on the list of flaws known to be exploited today
- **Chance of use in the next 30 days:** 1.2% (latest exploit-likelihood forecast)
- **Published:** 25 September 2020
- **Record last updated:** 18 November 2021
- **Main product:** Tensorflow from Google
- **Affected products:** 2

## What is CVE-2020-15202? In plain terms

It can be attacked from anywhere on the internet without logging in, and nobody has to click anything. If it works, the attacker can read data, change data and take it offline.

### The official description

In Tensorflow before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1, the `Shard` API in TensorFlow expects the last argument to be a function taking two `int64` (i.e., `long long`) arguments. However, there are several places in TensorFlow where a lambda taking `int` or `int32` arguments is being used. In these cases, if the amount of work to be parallelized is large enough, integer truncation occurs. Depending on how the two arguments of the lambda are used, this can result in segfaults, read/write outside of heap allocated arrays, stack overflows, or data corruption. The issue is patched in commits 27b417360cbd671ef55915e4bb6bb06af8b8a832 and ca8c013b5e97b1373b3bb1c97ea655e69f31a575, and is released in TensorFlow versions 1.15.4, 2.0.3, 2.1.2, 2.2.1, or 2.3.1.

### What kind of flaw is it?

- CWE-197: Numeric Truncation Error
- CWE-754: Improper Check for Unusual or Exceptional Conditions

### How an attack on it works

- Where an attacker can be: Anywhere on the internet
- How hard it is to pull off: Hard: conditions must line up
- Login needed first: No login needed
- Does someone have to click: No, nobody has to do anything
- What an attacker gets: Can read data, change data and take it offline

Severity vector: `CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H`

## Is CVE-2020-15202 being exploited? Not that we know of

It is not on the list of flaws known to be exploited today. The latest forecast puts the chance of it being used in the next 30 days at 1.2%. That can change at any time, which is why we keep watching.

Exploit likelihood over the last 7 days: 1.2%, 1.2%, 1.2%, 1.2%, 1.2%, 1.2%, 1.2%.

### Timeline

- 25 September 2020: Published
- 18 November 2021: Record last updated

### How EdgeProtect ranks it

CVE-2020-15202 scores **52 out of 100 (Medium)**, with the action "Plan remediation".

Every published flaw gets a risk score from 0 to 100, kept up to date as the evidence changes. Four things go into the score, from the one that counts most to the ones that count less:

- Evidence it is being exploited: biggest factor
- How severe it is: strong factor
- How widely exposed it is: key context
- Real threat activity around it: key context

85 and above is Critical. Anything confirmed as exploited is always marked for an emergency patch, whatever its score. When this flaw matches software you track, it lands in your list with its score and the reasons behind it.

## Who is affected by CVE-2020-15202?

The published record lists 2 products. Versions are as published: "before 1.15.4" means every version up to, but not including, 1.15.4.

- [Tensorflow](https://www.edgeprotect.io/product/google/tensorflow) by [Google](https://www.edgeprotect.io/vendors/google) (Application): before 1.15.4, 2.0.0 to before 2.0.3, 2.1.0 to before 2.1.2, 2.2.0 to before 2.2.1, 2.3.0 to before 2.3.1
- [Leap](https://www.edgeprotect.io/product/opensuse/leap) by [Opensuse](https://www.edgeprotect.io/vendors/opensuse) (Operating system): 15.2

## How do I fix CVE-2020-15202?

1. **Check whether you run it.** Compare your versions with the affected products above. Not sure what you run? EdgeProtect can work it out from your public website, or you can pick it from a list.
2. **Apply the vendor’s fix.** Install the update named in the vendor’s advisory. We’ve put the advisories and patch notes first in the list.
3. **If you can’t patch today.** Follow any mitigation the vendor publishes, and limit who can reach the affected system from the internet until the update is in.
4. **Keep an eye on it.** Track the product and we tell you as soon as we spot this flaw on the list of exploited flaws, or a jump in its exploit likelihood.

### References

- [github.com](https://github.com/tensorflow/tensorflow/commit/27b417360cbd671ef55915e4bb6bb06af8b8a832) (Patch, Third-party advisory)
- [github.com](https://github.com/tensorflow/tensorflow/commit/ca8c013b5e97b1373b3bb1c97ea655e69f31a575) (Patch, Third-party advisory)
- [lists.opensuse.org](http://lists.opensuse.org/opensuse-security-announce/2020-10/msg00065.html) (Mailing list, Third-party advisory)
- [github.com](https://github.com/tensorflow/tensorflow/releases/tag/v2.3.1) (Third-party advisory)
- [github.com](https://github.com/tensorflow/tensorflow/security/advisories/GHSA-h6fg-mjxg-hqq4) (Exploit, Third-party advisory)

## Questions

### What is CVE-2020-15202?

CVE-2020-15202 is a critical-severity flaw in Tensorflow from Google, published on 25 September 2020. It can be attacked from anywhere on the internet without logging in, and nobody has to click anything. If it works, the attacker can read data, change data and take it offline.

### How serious is CVE-2020-15202?

It scores 9.0 out of 10 on the CVSS severity scale, which is critical. Our risk score for CVE-2020-15202 is 52 out of 100, which is Medium. Its action is "Plan remediation". Not confirmed as exploited yet, but serious or likely enough that it should not wait for a quiet month.

### Is CVE-2020-15202 being exploited?

It is not on the list of flaws known to be exploited today. The latest forecast puts the chance of it being used in the next 30 days at 1.2%. That can change at any time, which is why we keep watching.

### Which versions does CVE-2020-15202 affect?

For Tensorflow from Google: before 1.15.4, 2.0.0 to before 2.0.3, 2.1.0 to before 2.1.2, 2.2.0 to before 2.2.1, 2.3.0 to before 2.3.1. The record lists 2 products in all, each with its versions, under "Who is affected" on this page.

### How do I fix CVE-2020-15202?

Install the update the vendor names in its advisory, linked first under "How do I fix" on this page. If you can't patch today, follow the vendor's mitigation and limit who can reach the affected system from the internet.

## Does CVE-2020-15202 affect you?

EdgeProtect keeps checking for you:

- **Tell us what you run.** Pick your software from a list, or let us work it out from your website.
- **We match it to every flaw.** Over 400,000 published flaws, checked against your list.
- **Ranked by real-world risk.** Every flaw gets a 0 to 100 risk score, kept up to date, led by evidence criminals are using it.
- **Told as soon as we know.** An alert by email, in the app or by webhook to your own tools.

Start free (no card, nothing to install): https://www.edgeprotect.io/register
Book a demo: https://www.edgeprotect.io/contact

