CVE-2022-21736: Undefined behavior in `SparseTensorSliceDataset`
(updated )
The implementation of SparseTensorSliceDataset
has an undefined behavior: under certain condition it can be made to dereference a nullptr
value:
import tensorflow as tf
import numpy as np
tf.raw_ops.SparseTensorSliceDataset(
indices=[[]],
values=[],
dense_shape=[1,1])
The 3 input arguments represent a sparse tensor. However, there are some preconditions that these arguments must satisfy but these are not validated in the implementation.
References
- github.com/advisories/GHSA-pfjj-m3jj-9jc9
- github.com/pypa/advisory-database/tree/main/vulns/tensorflow-cpu/PYSEC-2022-60.yaml
- github.com/pypa/advisory-database/tree/main/vulns/tensorflow-gpu/PYSEC-2022-115.yaml
- github.com/tensorflow/tensorflow
- github.com/tensorflow/tensorflow/blob/5100e359aef5c8021f2e71c7b986420b85ce7b3d/tensorflow/core/kernels/data/sparse_tensor_slice_dataset_op.cc
- github.com/tensorflow/tensorflow/commit/965b97e4a9650495cda5a8c210ef6684b4b9eceb
- github.com/tensorflow/tensorflow/security/advisories/GHSA-pfjj-m3jj-9jc9
- nvd.nist.gov/vuln/detail/CVE-2022-21736
Detect and mitigate CVE-2022-21736 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 →