CVE-2022-29198: Missing validation causes denial of service in TensorFlow via `SparseTensorToCSRSparseMatrix`
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.rawops.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 denseshape 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 Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2022-29198?
CVE-2022-29198 is classified as a medium severity vulnerability due to its potential to cause a CHECK-failure in TensorFlow.
How do I fix CVE-2022-29198?
To fix CVE-2022-29198, upgrade TensorFlow to version 2.9.0 or higher, or to 2.8.1, 2.7.2, or 2.6.4.
What versions of TensorFlow are affected by CVE-2022-29198?
CVE-2022-29198 affects TensorFlow versions prior to 2.6.4, 2.7.2, 2.8.1, and 2.9.0.
What is the nature of the vulnerability in CVE-2022-29198?
The vulnerability in CVE-2022-29198 arises from improper input argument validation in the tf.raw_ops.SparseTensorToCSRSparseMatrix implementation.
Can CVE-2022-29198 lead to remote code execution?
CVE-2022-29198 does not directly enable remote code execution, but may allow attackers to crash the TensorFlow application via a CHECK-failure.