CVE-2020-15192: Memory leak in Tensorflow
(updated )
If a user passes a list of strings to dlpack.to_dlpack
there is a memory leak following an expected validation failure:
https://github.com/tensorflow/tensorflow/blob/0e68f4d3295eb0281a517c3662f6698992b7b2cf/tensorflow/c/eager/dlpack.cc#L100-L104
The allocated memory is from https://github.com/tensorflow/tensorflow/blob/0e68f4d3295eb0281a517c3662f6698992b7b2cf/tensorflow/c/eager/dlpack.cc#L256
The issue occurs because the status
argument during validation failures is not properly checked:
https://github.com/tensorflow/tensorflow/blob/0e68f4d3295eb0281a517c3662f6698992b7b2cf/tensorflow/c/eager/dlpack.cc#L265-L267
Since each of the above methods can return an error status, the status
value must be checked before continuing.
References
- github.com/advisories/GHSA-8fxw-76px-3rxv
- github.com/pypa/advisory-database/tree/main/vulns/tensorflow-cpu/PYSEC-2020-272.yaml
- github.com/pypa/advisory-database/tree/main/vulns/tensorflow-gpu/PYSEC-2020-307.yaml
- github.com/pypa/advisory-database/tree/main/vulns/tensorflow/PYSEC-2020-115.yaml
- github.com/tensorflow/tensorflow
- github.com/tensorflow/tensorflow/commit/22e07fb204386768e5bcbea563641ea11f96ceb8
- github.com/tensorflow/tensorflow/releases/tag/v2.3.1
- github.com/tensorflow/tensorflow/security/advisories/GHSA-8fxw-76px-3rxv
- nvd.nist.gov/vuln/detail/CVE-2020-15192
Detect and mitigate CVE-2020-15192 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 →