{"id":"CVE-2022-29204","summary":"Missing validation causes denial of service in TensorFlow via `Conv3DBackpropFilterV2`","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.UnsortedSegmentJoin` 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 `num_segments` is a positive scalar but there is no validation. Since this value is used to allocate the output tensor, a negative value would result in a `CHECK`-failure (assertion failure), as per TFSA-2021-198. Versions 2.9.0, 2.8.1, 2.7.2, and 2.6.4 contain a patch for this issue.","aliases":["BIT-tensorflow-2022-29204","GHSA-hx9q-2mx4-m4pg","PYSEC-2026-1010","PYSEC-2026-3203","PYSEC-2026-3342"],"modified":"2026-08-12T13:00:40.464758Z","published":"2022-05-20T22:40:13Z","database_specific":{"cwe_ids":["CWE-191","CWE-20"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/29xxx/CVE-2022-29204.json","cna_assigner":"GitHub_M"},"references":[{"type":"WEB","url":"https://github.com/tensorflow/tensorflow/blob/f3b9bf4c3c0597563b289c0512e98d4ce81f886e/tensorflow/core/kernels/unsorted_segment_join_op.cc#L83-L14"},{"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-29204.json"},{"type":"ADVISORY","url":"https://github.com/tensorflow/tensorflow/blob/master/tensorflow/security/advisory/tfsa-2021-198.md"},{"type":"ADVISORY","url":"https://github.com/tensorflow/tensorflow/security/advisories/GHSA-hx9q-2mx4-m4pg"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2022-29204"},{"type":"FIX","url":"https://github.com/tensorflow/tensorflow/commit/20cb18724b0bf6c09071a3f53434c4eec53cc147"},{"type":"FIX","url":"https://github.com/tensorflow/tensorflow/commit/84563f265f28b3c36a15335c8b005d405260e943"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/tensorflow/tensorflow","events":[{"introduced":"590d6eef7e91a6a7392c8ffffb7b58f2e0c8bc6b"},{"fixed":"33ed2b11cb8e879d86c371700e6573db1814a69e"},{"introduced":"c256c071bb26e1e13b4666d1b3e229e110bc914a"},{"fixed":"dd7b8a3c1714d0052ce4b4a2fd8dcef927439a24"},{"introduced":"ce35e5c3a8efdb8161c6a85c8fb9ffb5bbdc9ffd"},{"fixed":"20cb18724b0bf6c09071a3f53434c4eec53cc147"},{"fixed":"84563f265f28b3c36a15335c8b005d405260e943"},{"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":"1.15.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.7.1","v2.7.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-29204.json","vanir_signatures_modified":"2026-08-12T13:00:40Z","vanir_signatures":[{"signature_type":"Line","signature_version":"v1","source":"https://github.com/tensorflow/tensorflow/commit/20cb18724b0bf6c09071a3f53434c4eec53cc147","target":{"file":"tensorflow/core/kernels/unsorted_segment_join_op.cc"},"deprecated":false,"digest":{"line_hashes":["252396198439179081079284735423082958741","178077711357363811219495115453375003508","166809575007228066587184409972597994025","43256397787529482772807489240573608088","204140357427065759719789219018242422722"],"threshold":0.9},"id":"CVE-2022-29204-4822fef3"},{"target":{"file":"tensorflow/core/kernels/unsorted_segment_join_op.cc"},"deprecated":false,"digest":{"line_hashes":["272930406629566085188128909330015357564","294142155783676115266854675390013935278","70069975632083138714508615765652856310"],"threshold":0.9},"id":"CVE-2022-29204-c19be0c3","signature_type":"Line","signature_version":"v1","source":"https://github.com/tensorflow/tensorflow/commit/84563f265f28b3c36a15335c8b005d405260e943"}]}}],"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"}]}