Buffer overflow in Google Tensorflow

CVE-2020-15196

In Tensorflow version 2.3.0, the `SparseCountSparseOutput` and `RaggedCountSparseOutput` implementations don't validate that the `weights` tensor has the same shape as the data. The check exists for `DenseCountSparseOutput`, where both tensors are fully specified. In the sparse and ragged count weights are still accessed in parallel with the data. But, since there is no validation, a user passing fewer weights than the values for the tensors can generate a read from outside the bounds of the heap buffer allocated for the weights. The issue is patched in commit 3cbb917b4714766030b28eba9fb41bb97ce9ee02 and is released in TensorFlow version 2.3.1.

Vulnerability class: Buffer Overflow

Published · last modified .

CVSS v3 metric

CVSS v3 base score 8.5 (High). Vector: CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H.

EPSS exploit prediction

EPSS: 0.009 (58.2th percentile), scored .

Very low probability of exploitation in the next 30 days; routine patching cadence is appropriate. 58th percentile — 58.2% of CVEs in the catalogue have a lower EPSS than this one. How to read EPSS.

EPSS trend (30 days)EPSS over the last 30 days for CVE-2020-15196: held from 0.009 to 0.009.

EPSS over last 30 days · oldest: 0.009 · newest: 0.009 · change: 0.000

Affected products

Weakness classification (CWE)

References

Frequently asked questions

What is CVE-2020-15196?
CVE-2020-15196 is a high-severity vulnerability in Google Tensorflow, classified under Improper Restriction of Operations within the Bounds of a Memory Buffer. CVSS score: 8.5/10. Published 2020-09-25.
How severe is CVE-2020-15196?
High severity. CVSS v3 base score is 8.5 out of 10.