CVE-2022-29198
MEDIUM5.5EPSS 0.06%Missing validation causes denial of service in TensorFlow via `SparseTensorToCSRSparseMatrix`
Published: 5/24/2022Modified: 5/20/2025
Description
TensorFlow is an open source platform for machine learning. Prior to versions 2.9.0, 2.8.1, 2.7.2, and 2.6.4, the implementation of `tf.raw_ops.SparseTensorToCSRSparseMatrix` does not fully validate the input arguments. This results in a `CHECK`-failure which can be used to trigger a denial of service attack. The code assumes `dense_shape` is a vector and `indices` is a matrix (as part of requirements for sparse tensors) but there is no validation for this. Versions 2.9.0, 2.8.1, 2.7.2, and 2.6.4 contain a patch for this issue.
Affected packages (4)
- Bitnami/tensorflowfrom 0, < 2.6.4, >= 2.7.0, < 2.7.2
- PyPI/tensorflowfrom 0, < 2.6.4
- PyPI/tensorflow-cpufrom 0, < 2.6.4
- PyPI/tensorflow-gpufrom 0, < 2.6.4
CVSS scores
| Source | Version | Severity | Vector |
|---|---|---|---|
| osv | CVSS 3.1 | MEDIUM5.5 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
References (9)
- ADVISORYhttps://nvd.nist.gov/vuln/detail/CVE-2022-29198
- PATCHhttps://github.com/tensorflow/tensorflow
- WEBhttps://github.com/tensorflow/tensorflow/blob/f3b9bf4c3c0597563b289c0512e98d4ce81f886e/tensorflow/core/kernels/sparse/sparse_tensor_to_csr_sparse_matrix_op.cc#L65-L119
- WEBhttps://github.com/tensorflow/tensorflow/commit/ea50a40e84f6bff15a0912728e35b657548cef11
- WEBhttps://github.com/tensorflow/tensorflow/releases/tag/v2.6.4
- WEBhttps://github.com/tensorflow/tensorflow/releases/tag/v2.7.2
- WEBhttps://github.com/tensorflow/tensorflow/releases/tag/v2.8.1
- WEBhttps://github.com/tensorflow/tensorflow/releases/tag/v2.9.0
- WEBhttps://github.com/tensorflow/tensorflow/security/advisories/GHSA-mg66-qvc5-rm93