CVE-2020-15201: Heap buffer overflow in Tensorflow
(updated )
The RaggedCountSparseOutput implementation does not validate that the input arguments form a valid ragged tensor. In particular, there is no validation that the values in the splits tensor generate a valid partitioning of the values tensor. Hence, this code is prone to heap buffer overflow:
https://github.com/tensorflow/tensorflow/blob/0e68f4d3295eb0281a517c3662f6698992b7b2cf/tensorflow/core/kernels/count_ops.cc#L248-L251
If split_values does not end with a value at least num_values then the while loop condition will trigger a read outside of the bounds of split_values once batch_idx grows too large.
References
- github.com/advisories/GHSA-p5f8-gfw5-33w4
- github.com/pypa/advisory-database/tree/main/vulns/tensorflow-cpu/PYSEC-2020-281.yaml
- github.com/pypa/advisory-database/tree/main/vulns/tensorflow-gpu/PYSEC-2020-316.yaml
- github.com/pypa/advisory-database/tree/main/vulns/tensorflow/PYSEC-2020-124.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-p5f8-gfw5-33w4
- nvd.nist.gov/vuln/detail/CVE-2020-15201
Code Behaviors & Features
Detect and mitigate CVE-2020-15201 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →