{"id":"CVE-2021-29544","details":"TensorFlow is an end-to-end open source platform for machine learning. An attacker can trigger a denial of service via a `CHECK`-fail in `tf.raw_ops.QuantizeAndDequantizeV4Grad`. This is because the implementation does not validate the rank of the `input_*` tensors. In turn, this results in the tensors being passes as they are to `QuantizeAndDequantizePerChannelGradientImpl`. However, the `vec\u003cT\u003e` method, requires the rank to 1 and triggers a `CHECK` failure otherwise. The fix will be included in TensorFlow 2.5.0. We will also cherrypick this commit on TensorFlow 2.4.2 as this is the only other affected version.","aliases":["BIT-tensorflow-2021-29544","GHSA-6g85-3hm8-83f9","PYSEC-2021-181","PYSEC-2021-472","PYSEC-2021-670"],"modified":"2026-04-11T17:12:43.110701Z","published":"2021-05-14T20:15:12.623Z","related":["GHSA-6g85-3hm8-83f9"],"references":[{"type":"WEB","url":"https://github.com/tensorflow/tensorflow/blob/95078c145b5a7a43ee046144005f733092756ab5/tensorflow/core/kernels/quantize_and_dequantize_op.cc#L162-L163"},{"type":"WEB","url":"https://github.com/tensorflow/tensorflow/blob/95078c145b5a7a43ee046144005f733092756ab5/tensorflow/core/kernels/quantize_and_dequantize_op.h#L295-L306"},{"type":"FIX","url":"https://github.com/tensorflow/tensorflow/security/advisories/GHSA-6g85-3hm8-83f9"},{"type":"FIX","url":"https://github.com/tensorflow/tensorflow/commit/20431e9044cf2ad3c0323c34888b192f3289af6b"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/tensorflow/tensorflow","events":[{"introduced":"582c8d236cb079023657287c318ff26adb239002"},{"fixed":"1923123d32ea41d92b70a27a3f6ecf0763b56f6c"},{"fixed":"20431e9044cf2ad3c0323c34888b192f3289af6b"}],"database_specific":{"versions":[{"introduced":"2.4.0"},{"fixed":"2.4.2"}]}}],"versions":["v2.4.0","v2.4.1"],"database_specific":{"vanir_signatures_modified":"2026-04-11T17:12:43Z","source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2021-29544.json","vanir_signatures":[{"id":"CVE-2021-29544-a2f93e61","deprecated":false,"source":"https://github.com/tensorflow/tensorflow/commit/20431e9044cf2ad3c0323c34888b192f3289af6b","signature_version":"v1","signature_type":"Line","target":{"file":"tensorflow/core/kernels/quantize_and_dequantize_op.cc"},"digest":{"threshold":0.9,"line_hashes":["176068773716387915431679173772228483723","195008316136258450943681231606746130387","95720392910609131018701593023343122866","3060895597940912716767874583125497482","182232495582687097407204052409773180322"]}}]}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H"}]}