Headline
CVE-2022-41891: Fix tf.raw_ops.TensorListConcat vulnerability (segfault). · tensorflow/tensorflow@fc33f3d
TensorFlow is an open source platform for machine learning. If tf.raw_ops.TensorListConcat
is given element_shape=[]
, it results segmentation fault which can be used to trigger a denial of service attack. We have patched the issue in GitHub commit fc33f3dc4c14051a83eec6535b608abe1d355fde. The fix will be included in TensorFlow 2.11. We will also cherrypick this commit on TensorFlow 2.10.1, 2.9.3, and TensorFlow 2.8.4, as these are also affected and still in supported range.
@@ -1514,6 +1514,15 @@ def testConcatWithUninitializedTensorsFailsIfNoInputLengths(self): t = list_ops.tensor_list_concat(l, element_dtype=dtypes.float32) self.evaluate(t)
@test_util.run_in_graph_and_eager_modes def testConcatWithInvalidElementShape(self): l = list_ops.tensor_list_reserve( element_dtype=dtypes.float32, element_shape=[], num_elements=0) with self.assertRaisesRegex((ValueError, errors.InvalidArgumentError), r"element_shape must not be empty"): self.evaluate(gen_list_ops.tensor_list_concat( input_handle=l, element_dtype=dtypes.float32, element_shape=[]))
def testEmptyTensorListInvalidShape(self): with self.assertRaisesRegex((ValueError, errors.InvalidArgumentError), r"Shape must be at most rank 1 but is rank 2"):
Related news
### Impact If [`tf.raw_ops.TensorListConcat`](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/kernels/list_kernels.h) is given `element_shape=[]`, it results segmentation fault which can be used to trigger a denial of service attack. ```python import tensorflow as tf tf.raw_ops.TensorListConcat( input_handle=tf.data.experimental.to_variant(tf.data.Dataset.from_tensor_slices([1, 2, 3])), element_dtype=tf.dtypes.float32, element_shape=[] ) ``` ### Patches We have patched the issue in GitHub commit [fc33f3dc4c14051a83eec6535b608abe1d355fde](https://github.com/tensorflow/tensorflow/commit/fc33f3dc4c14051a83eec6535b608abe1d355fde). The fix will be included in TensorFlow 2.11. We will also cherrypick this commit on TensorFlow 2.10.1, 2.9.3, and TensorFlow 2.8.4, as these are also affected and still in supported range. ### For more information Please consult [our security guide](https://github.com/tensorflow/tensorflow/blob/master/SECURITY.md) for more inf...