{"id":"CVE-2022-29198","summary":"Missing validation causes denial of service in TensorFlow via `SparseTensorToCSRSparseMatrix`","details":"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.","aliases":["BIT-tensorflow-2022-29198","GHSA-mg66-qvc5-rm93","PYSEC-2026-1018","PYSEC-2026-3214","PYSEC-2026-3350"],"modified":"2026-08-12T13:00:57.654646Z","published":"2022-05-20T21:50:12Z","database_specific":{"cna_assigner":"GitHub_M","cwe_ids":["CWE-20"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/29xxx/CVE-2022-29198.json"},"references":[{"type":"WEB","url":"https://github.com/tensorflow/tensorflow/blob/f3b9bf4c3c0597563b289c0512e98d4ce81f886e/tensorflow/core/kernels/sparse/sparse_tensor_to_csr_sparse_matrix_op.cc#L65-L119"},{"type":"WEB","url":"https://github.com/tensorflow/tensorflow/releases/tag/v2.6.4"},{"type":"WEB","url":"https://github.com/tensorflow/tensorflow/releases/tag/v2.7.2"},{"type":"WEB","url":"https://github.com/tensorflow/tensorflow/releases/tag/v2.8.1"},{"type":"WEB","url":"https://github.com/tensorflow/tensorflow/releases/tag/v2.9.0"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/29xxx/CVE-2022-29198.json"},{"type":"ADVISORY","url":"https://github.com/tensorflow/tensorflow/security/advisories/GHSA-mg66-qvc5-rm93"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2022-29198"},{"type":"FIX","url":"https://github.com/tensorflow/tensorflow/commit/ea50a40e84f6bff15a0912728e35b657548cef11"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/tensorflow/tensorflow","events":[{"introduced":"0"},{"fixed":"33ed2b11cb8e879d86c371700e6573db1814a69e"},{"introduced":"c256c071bb26e1e13b4666d1b3e229e110bc914a"},{"fixed":"dd7b8a3c1714d0052ce4b4a2fd8dcef927439a24"},{"introduced":"ce35e5c3a8efdb8161c6a85c8fb9ffb5bbdc9ffd"},{"fixed":"ea50a40e84f6bff15a0912728e35b657548cef11"},{"fixed":"0516d4d8bced506cae97dc3cb45dbd2fe4311f26"},{"fixed":"8a20d54a3c1bfa38c03ea99a2ad3c1b0a45dfa95"}],"database_specific":{"cpe":["cpe:2.3:a:google:tensorflow:*:*:*:*:*:*:*:*","cpe:2.3:a:google:tensorflow:2.7.0:rc0:*:*:*:*:*:*","cpe:2.3:a:google:tensorflow:2.7.0:rc1:*:*:*:*:*:*","cpe:2.3:a:google:tensorflow:2.8.0:-:*:*:*:*:*:*","cpe:2.3:a:google:tensorflow:2.8.0:rc0:*:*:*:*:*:*","cpe:2.3:a:google:tensorflow:2.8.0:rc1:*:*:*:*:*:*","cpe:2.3:a:google:tensorflow:2.9.0:rc0:*:*:*:*:*:*","cpe:2.3:a:google:tensorflow:2.9.0:rc1:*:*:*:*:*:*"],"extracted_events":[{"introduced":"0"},{"fixed":"2.6.4"},{"introduced":"2.7.0"},{"fixed":"2.7.2"},{"introduced":"2.7.0-rc0"},{"last_affected":"2.7.0-rc0"},{"introduced":"2.7.0-rc1"},{"last_affected":"2.7.0-rc1"},{"introduced":"2.8.0-NA"},{"last_affected":"2.8.0-NA"},{"introduced":"2.8.0-rc0"},{"last_affected":"2.8.0-rc0"},{"introduced":"2.8.0-rc1"},{"last_affected":"2.8.0-rc1"},{"introduced":"2.9.0-rc0"},{"last_affected":"2.9.0-rc0"},{"introduced":"2.9.0-rc1"},{"last_affected":"2.9.0-rc1"}],"source":["CPE_RANGE","CPE_STRING","REFERENCES"]}}],"versions":["2.7.0-rc0","2.7.0-rc1","2.8.0-NA","2.8.0-rc0","2.8.0-rc1","2.9.0-rc0","2.9.0-rc1","v2.9.0-rc2","v2.9.0-rc1","v2.6.3","v2.7.1","v2.9.0-rc0","v2.8.0","v2.8.0-rc1","v2.6.2","v2.8.0-rc0","v2.7.0","v2.6.1","v2.6.0","v2.6.0-rc2","v2.6.0-rc1","v2.6.0-rc0","v1.12.1","v1.9.0-rc2","v1.6.0-rc1","v1.1.0-rc2","v1.1.0-rc1","0.6.0","0.5.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-29198.json","vanir_signatures_modified":"2026-08-12T13:00:57Z","vanir_signatures":[{"digest":{"line_hashes":["189491511659226545192563970219586316922","283791205669807900820525140421139913677","318654317162817314166998206569990845154","93716194748727637932121979342238084657"],"threshold":0.9},"id":"CVE-2022-29198-bf18f774","signature_type":"Line","signature_version":"v1","source":"https://github.com/tensorflow/tensorflow/commit/ea50a40e84f6bff15a0912728e35b657548cef11","target":{"file":"tensorflow/core/kernels/sparse/sparse_tensor_to_csr_sparse_matrix_op.cc"},"deprecated":false}]}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H"}]}