CVE-2021-41197: Crashes due to overflow and `CHECK`-fail in ops with large tensor shapes
(updated )
TensorFlow allows tensor to have a large number of dimensions and each dimension can be as large as desired. However, the total number of elements in a tensor must fit within an int64_t
. If an overflow occurs, MultiplyWithoutOverflow
would return a negative result. In the majority of TensorFlow codebase this then results in a CHECK
-failure. Newer constructs exist which return a Status
instead of crashing the binary.
References
- github.com/advisories/GHSA-prcg-wp5q-rv7p
- github.com/pypa/advisory-database/tree/main/vulns/tensorflow-cpu/PYSEC-2021-607.yaml
- github.com/pypa/advisory-database/tree/main/vulns/tensorflow-gpu/PYSEC-2021-805.yaml
- github.com/pypa/advisory-database/tree/main/vulns/tensorflow/PYSEC-2021-390.yaml
- github.com/tensorflow/tensorflow
- github.com/tensorflow/tensorflow/commit/7c1692bd417eb4f9b33ead749a41166d6080af85
- github.com/tensorflow/tensorflow/commit/a871989d7b6c18cdebf2fb4f0e5c5b62fbc19edf
- github.com/tensorflow/tensorflow/commit/d81b1351da3e8c884ff836b64458d94e4a157c15
- github.com/tensorflow/tensorflow/issues/46890
- github.com/tensorflow/tensorflow/issues/51908
- github.com/tensorflow/tensorflow/security/advisories/GHSA-prcg-wp5q-rv7p
- nvd.nist.gov/vuln/detail/CVE-2021-41197
Detect and mitigate CVE-2021-41197 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 →