CVE-2021-41202: Overflow/crash in `tf.range`
(updated )
While calculating the size of the output within the tf.range kernel, there is a conditional statement of type int64 = condition ? int64 : double. Due to C++ implicit conversion rules, both branches of the condition will be cast to double and the result would be truncated before the assignment. This result in overflows:
import tensorflow as tf
tf.sparse.eye(num_rows=9223372036854775807, num_columns=None)
Similarly, tf.range would result in crashes due to overflows if the start or end point are too large.
import tensorflow as tf
tf.range(start=-1e+38, limit=1)
References
- github.com/advisories/GHSA-xrqm-fpgr-6hhx
- github.com/pypa/advisory-database/tree/main/vulns/tensorflow-cpu/PYSEC-2021-612.yaml
- github.com/pypa/advisory-database/tree/main/vulns/tensorflow-gpu/PYSEC-2021-810.yaml
- github.com/pypa/advisory-database/tree/main/vulns/tensorflow/PYSEC-2021-395.yaml
- github.com/tensorflow/tensorflow
- github.com/tensorflow/tensorflow/commit/1b0e0ec27e7895b9985076eab32445026ae5ca94
- github.com/tensorflow/tensorflow/commit/6d94002a09711d297dbba90390d5482b76113899
- github.com/tensorflow/tensorflow/issues/46889
- github.com/tensorflow/tensorflow/issues/46912
- github.com/tensorflow/tensorflow/security/advisories/GHSA-xrqm-fpgr-6hhx
- nvd.nist.gov/vuln/detail/CVE-2021-41202
Code Behaviors & Features
Detect and mitigate CVE-2021-41202 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 →