CVE-2020-15198: Heap buffer overflow in Tensorflow
(updated )
The SparseCountSparseOutput
implementation does not validate that the input arguments form a valid sparse tensor. In particular, there is no validation that the indices
tensor has the same shape as the values
one. The values in these tensors are always accessed in parallel:
https://github.com/tensorflow/tensorflow/blob/0e68f4d3295eb0281a517c3662f6698992b7b2cf/tensorflow/core/kernels/count_ops.cc#L193-L195
Thus, a shape mismatch can result in accesses outside the bounds of heap allocated buffers.
References
- github.com/advisories/GHSA-jc87-6vpp-7ff3
- github.com/pypa/advisory-database/tree/main/vulns/tensorflow-cpu/PYSEC-2020-278.yaml
- github.com/pypa/advisory-database/tree/main/vulns/tensorflow-gpu/PYSEC-2020-313.yaml
- github.com/pypa/advisory-database/tree/main/vulns/tensorflow/PYSEC-2020-121.yaml
- github.com/tensorflow/tensorflow
- github.com/tensorflow/tensorflow/commit/3cbb917b4714766030b28eba9fb41bb97ce9ee02
- github.com/tensorflow/tensorflow/releases/tag/v2.3.1
- github.com/tensorflow/tensorflow/security/advisories/GHSA-jc87-6vpp-7ff3
- nvd.nist.gov/vuln/detail/CVE-2020-15198
Detect and mitigate CVE-2020-15198 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →