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(https://github.com/tensorflow/tensorflow/blob/95078c145b5a7a43ee046144005f733092756ab5/tensorflow/core/kernels/quantize_and_dequantize_op.cc#L162-L163) does not validate the rank of the `input_*` tensors. In turn, this results in the tensors being passes as they are to `QuantizeAndDequantizePerChannelGradientImpl`(https://github.com/tensorflow/tensorflow/blob/95078c145b5a7a43ee046144005f733092756ab5/tensorflow/core/kernels/quantize_and_dequantize_op.h#L295-L306). However, the `vec<T>` 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.
References
Link | Resource |
---|---|
https://github.com/tensorflow/tensorflow/commit/20431e9044cf2ad3c0323c34888b192f3289af6b | Patch Third Party Advisory |
https://github.com/tensorflow/tensorflow/security/advisories/GHSA-6g85-3hm8-83f9 | Exploit Patch Third Party Advisory |
Configurations
Information
Published : 2021-05-14 13:15
Updated : 2021-07-27 10:25
NVD link : CVE-2021-29544
Mitre link : CVE-2021-29544
JSON object : View
CWE
CWE-754
Improper Check for Unusual or Exceptional Conditions
Products Affected
- tensorflow