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/quantizeanddequantizeop.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/quantizeanddequantizeop.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.