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
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. Learn more about Dependency Scanning →