7928 matches found
TensorFlow vulnerable to `CHECK` fail in `tf.linalg.matrix_rank`
ImpactWhen tf.linalg.matrixrank receives an empty input a, the GPU kernel gives a CHECK fail that can be used to trigger a denial of service attack.pythonimport tensorflow as tfa = tf.constant, shape=0, 1, 1, dtype=tf.float32tf.linalg.matrixranka=a PatchesWe have patched the issue in GitHub commi...
TensorFlow vulnerable to `CHECK` fail in `FractionalMaxPoolGrad`
ImpactFractionalMaxPoolGrad 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:pythonimport tensorflow as tfoverlapping = Trueoriginput = tf.constant.453409232,...
TensorFlow vulnerable to segfault in `QuantizedMatMul`
ImpactIf QuantizedMatMul is given nonscalar input for: - mina - maxa - minb - maxbIt gives a segfault that can be used to trigger a denial of service attack.pythonimport tensorflow as tfToutput = tf.qint32transposea = Falsetransposeb = FalseTactivation = tf.quint8a = tf.constant7, shape=3,4,...
TensorFlow vulnerable to segfault in `QuantizedRelu` and `QuantizedRelu6`
ImpactIf QuantizedRelu or QuantizedRelu6 are given nonscalar inputs for minfeatures or maxfeatures, it results in a segfault that can be used to trigger a denial of service attack.pythonimport tensorflow as tfouttype = tf.quint8features = tf.constant28, shape=4,2, dtype=tf.quint8minfeatures =...
TensorFlow vulnerable to `CHECK` fail in `FractionalMaxPoolGrad`
ImpactFractionalMaxPoolGrad 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:pythonimport tensorflow as tfoverlapping = Trueoriginput = tf.constant.453409232,...
TensorFlow vulnerable to segfault in `QuantizedRelu` and `QuantizedRelu6`
ImpactIf QuantizedRelu or QuantizedRelu6 are given nonscalar inputs for minfeatures or maxfeatures, it results in a segfault that can be used to trigger a denial of service attack.pythonimport tensorflow as tfouttype = tf.quint8features = tf.constant28, shape=4,2, dtype=tf.quint8minfeatures =...
TensorFlow vulnerable to segfault in `QuantizedMatMul`
ImpactIf QuantizedMatMul is given nonscalar input for: - mina - maxa - minb - maxbIt gives a segfault that can be used to trigger a denial of service attack.pythonimport tensorflow as tfToutput = tf.qint32transposea = Falsetransposeb = FalseTactivation = tf.quint8a = tf.constant7, shape=3,4,...
TensorFlow vulnerable to segfault in `QuantizeDownAndShrinkRange`
ImpactIf QuantizeDownAndShrinkRange is given nonscalar inputs for inputmin or inputmax, it results in a segfault that can be used to trigger a denial of service attack.pythonimport tensorflow as tfouttype = tf.quint8input = tf.constant1, shape=3, dtype=tf.qint32inputmin = tf.constant, shape=0,...
TensorFlow vulnerable to segfault in `QuantizeDownAndShrinkRange`
ImpactIf QuantizeDownAndShrinkRange is given nonscalar inputs for inputmin or inputmax, it results in a segfault that can be used to trigger a denial of service attack.pythonimport tensorflow as tfouttype = tf.quint8input = tf.constant1, shape=3, dtype=tf.qint32inputmin = tf.constant, shape=0,...
TensorFlow vulnerable to segfault in `SparseBincount`
ImpactIf SparseBincount is given inputs for indices, values, and denseshape that do not make a valid sparse tensor, it results in a segfault that can be used to trigger a denial of service attack.pythonimport tensorflow as tfbinaryoutput = Trueindices = tf.random.uniformshape=, minval=-10000,...
TensorFlow vulnerable to `CHECK` fail in `Conv2DBackpropInput`
ImpactThe implementation of Conv2DBackpropInput requires inputsizes to be 4-dimensional. Otherwise, it gives a CHECK failure which can be used to trigger a denial of service attack:pythonimport tensorflow as tfstrides = 1, 1, 1, 1padding = "SAME"usecudnnongpu = Trueexplicitpaddings = dataformat =...
TensorFlow vulnerable to segfault in `QuantizedInstanceNorm`
ImpactIf QuantizedInstanceNorm is given xmin or xmax tensors of a nonzero rank, it results in a segfault that can be used to trigger a denial of service attack.pythonimport tensorflow as tfoutputrangegiven = Falsegivenymin = 0givenymax = 0varianceepsilon = 1e-05minseparation = 0.001x =...
TensorFlow vulnerable to `CHECK` fail in `Conv2DBackpropInput`
ImpactThe implementation of Conv2DBackpropInput requires inputsizes to be 4-dimensional. Otherwise, it gives a CHECK failure which can be used to trigger a denial of service attack:pythonimport tensorflow as tfstrides = 1, 1, 1, 1padding = "SAME"usecudnnongpu = Trueexplicitpaddings = dataformat =...
TensorFlow vulnerable to segfault in `QuantizedBiasAdd`
ImpactIf QuantizedBiasAdd is given mininput, maxinput, minbias, maxbias tensors of a nonzero rank, it results in a segfault that can be used to trigger a denial of service attack.pythonimport tensorflow as tfouttype = tf.qint32input = tf.constant85,170,255, shape=3, dtype=tf.quint8bias =...
TensorFlow vulnerable to `CHECK` fail in `FakeQuantWithMinMaxVars`
ImpactIf 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.pythonimport tensorflow as tfnumbits = 8narrowrange = Falseinputs = tf.constant0, shape=2,3, dtype=tf.float32min = tf.constant0,...
TensorFlow vulnerable to segfault in `QuantizedInstanceNorm`
ImpactIf QuantizedInstanceNorm is given xmin or xmax tensors of a nonzero rank, it results in a segfault that can be used to trigger a denial of service attack.pythonimport tensorflow as tfoutputrangegiven = Falsegivenymin = 0givenymax = 0varianceepsilon = 1e-05minseparation = 0.001x =...
TensorFlow vulnerable to segfault in `QuantizedBiasAdd`
ImpactIf QuantizedBiasAdd is given mininput, maxinput, minbias, maxbias tensors of a nonzero rank, it results in a segfault that can be used to trigger a denial of service attack.pythonimport tensorflow as tfouttype = tf.qint32input = tf.constant85,170,255, shape=3, dtype=tf.quint8bias =...
TensorFlow vulnerable to `CHECK` fail in `FakeQuantWithMinMaxVars`
ImpactIf 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.pythonimport tensorflow as tfnumbits = 8narrowrange = Falseinputs = tf.constant0, shape=2,3, dtype=tf.float32min = tf.constant0,...
TensorFlow vulnerable to `CHECK` fail in `AvgPoolGrad`
ImpactThe implementation of AvgPoolGrad does not fully validate the input originputshape. This results in a CHECK failure which can be used to trigger a denial of service attack:pythonimport tensorflow as tfksize = 1, 2, 2, 1strides = 1, 2, 2, 1padding = "VALID"dataformat = "NHWC"originputshape =...
TensorFlow vulnerable to `CHECK` fail in `FakeQuantWithMinMaxVarsPerChannelGradient`
ImpactWhen tf.quantization.fakequantwithminmaxvarsperchannelgradient receives input min or max of rank other than 1, it gives a CHECK fail that can trigger a denial of service attack.pythonimport tensorflow as tfarg0=tf.random.uniformshape=1,1, dtype=tf.float32,...
TensorFlow vulnerable to `CHECK` fail in `TensorListScatter` and `TensorListScatterV2`
ImpactWhen TensorListScatter and TensorListScatterV2 receive an elementshape of a rank greater than one, they give a CHECK fail that can trigger a denial of service attack.pythonimport tensorflow as tfarg0=tf.random.uniformshape=2, 2, 2, dtype=tf.float16, maxval=Nonearg1=tf.random.uniformshape=2,...
TensorFlow vulnerable to segfault in `QuantizedAvgPool`
ImpactIf QuantizedAvgPool is given mininput or maxinput tensors of a nonzero rank, it results in a segfault that can be used to trigger a denial of service attack.pythonimport tensorflow as tfksize = 1, 2, 2, 1strides = 1, 2, 2, 1padding = "SAME"input = tf.constant1, shape=1,4,4,2,...
TensorFlow vulnerable to segfault in `QuantizedAdd`
ImpactIf QuantizedAdd is given mininput or maxinput tensors of a nonzero rank, it results in a segfault that can be used to trigger a denial of service attack.pythonimport tensorflow as tfToutput = tf.qint32x = tf.constant140, shape=1, dtype=tf.quint8y = tf.constant26, shape=10, dtype=tf.quint8mi...
TensorFlow vulnerable to `CHECK` fail in `AvgPoolGrad`
ImpactThe implementation of AvgPoolGrad does not fully validate the input originputshape. This results in a CHECK failure which can be used to trigger a denial of service attack:pythonimport tensorflow as tfksize = 1, 2, 2, 1strides = 1, 2, 2, 1padding = "VALID"dataformat = "NHWC"originputshape =...
TensorFlow vulnerable to segfault in `QuantizedAvgPool`
ImpactIf QuantizedAvgPool is given mininput or maxinput tensors of a nonzero rank, it results in a segfault that can be used to trigger a denial of service attack.pythonimport tensorflow as tfksize = 1, 2, 2, 1strides = 1, 2, 2, 1padding = "SAME"input = tf.constant1, shape=1,4,4,2,...
TensorFlow vulnerable to segfault in `QuantizedAdd`
ImpactIf QuantizedAdd is given mininput or maxinput tensors of a nonzero rank, it results in a segfault that can be used to trigger a denial of service attack.pythonimport tensorflow as tfToutput = tf.qint32x = tf.constant140, shape=1, dtype=tf.quint8y = tf.constant26, shape=10, dtype=tf.quint8mi...
TensorFlow vulnerable to `CHECK` fail in `FakeQuantWithMinMaxVarsPerChannelGradient`
ImpactWhen tf.quantization.fakequantwithminmaxvarsperchannelgradient receives input min or max of rank other than 1, it gives a CHECK fail that can trigger a denial of service attack.pythonimport tensorflow as tfarg0=tf.random.uniformshape=1,1, dtype=tf.float32,...
TensorFlow vulnerable to `CHECK` fail in `SetSize`
ImpactWhen SetSize receives an input setshape that is not a 1D tensor, it gives a CHECK fails that can be used to trigger a denial of service attack.pythonimport tensorflow as tfarg0=1arg1=1,1arg2=1arg3=Truearg4=''tf.rawops.SetSizesetindices=arg0, setvalues=arg1, setshape=arg2,...
TensorFlow vulnerable to `CHECK` fail in `TensorListFromTensor`
ImpactWhen TensorListFromTensor receives an elementshape of a rank greater than one, it gives a CHECK fail that can trigger a denial of service attack.pythonimport tensorflow as tfarg0=tf.random.uniformshape=6, 6, 2, dtype=tf.bfloat16, maxval=Nonearg1=tf.random.uniformshape=6, 9, 1, 3,...
TensorFlow vulnerable to segfault in `LowerBound` and `UpperBound`
ImpactIf LowerBound or UpperBound is given an emptysortedinputs input, it results in a nullptr dereference, leading to a segfault that can be used to trigger a denial of service attack.pythonimport tensorflow as tfouttype = tf.int32sortedinputs = tf.constant, shape=10,0, dtype=tf.float32values =...
TensorFlow vulnerable to `CHECK` fail in `TensorListScatter` and `TensorListScatterV2`
ImpactWhen TensorListScatter and TensorListScatterV2 receive an elementshape of a rank greater than one, they give a CHECK fail that can trigger a denial of service attack.pythonimport tensorflow as tfarg0=tf.random.uniformshape=2, 2, 2, dtype=tf.float16, maxval=Nonearg1=tf.random.uniformshape=2,...
TensorFlow vulnerable to segfault in `BlockLSTMGradV2`
ImpactThe implementation of BlockLSTMGradV2 does not fully validate its inputs. - wci, wcf, wco, b must be rank 1 - w, csprev, hprev must be rank 2 - x must be rank 3This results in a a segfault that can be used to trigger a denial of service attack.pythonimport tensorflow as tfusepeephole =...
TensorFlow vulnerable to segfault in `BlockLSTMGradV2`
ImpactThe implementation of BlockLSTMGradV2 does not fully validate its inputs. - wci, wcf, wco, b must be rank 1 - w, csprev, hprev must be rank 2 - x must be rank 3This results in a a segfault that can be used to trigger a denial of service attack.pythonimport tensorflow as tfusepeephole =...
TensorFlow vulnerable to segfault in `LowerBound` and `UpperBound`
ImpactIf LowerBound or UpperBound is given an emptysortedinputs input, it results in a nullptr dereference, leading to a segfault that can be used to trigger a denial of service attack.pythonimport tensorflow as tfouttype = tf.int32sortedinputs = tf.constant, shape=10,0, dtype=tf.float32values =...
TensorFlow vulnerable to `CHECK` fail in `TensorListFromTensor`
ImpactWhen TensorListFromTensor receives an elementshape of a rank greater than one, it gives a CHECK fail that can trigger a denial of service attack.pythonimport tensorflow as tfarg0=tf.random.uniformshape=6, 6, 2, dtype=tf.bfloat16, maxval=Nonearg1=tf.random.uniformshape=6, 9, 1, 3,...
TensorFlow vulnerable to `CHECK` fail in `SetSize`
ImpactWhen SetSize receives an input setshape that is not a 1D tensor, it gives a CHECK fails that can be used to trigger a denial of service attack.pythonimport tensorflow as tfarg0=1arg1=1,1arg2=1arg3=Truearg4=''tf.rawops.SetSizesetindices=arg0, setvalues=arg1, setshape=arg2,...
TensorFlow vulnerable to Int overflow in `RaggedRangeOp`
ImpactThe RaggedRangOp function takes an argument limits that is eventually used to construct a TensorShape as an int64. If limits is a very large float, it can overflow when converted to an int64. This triggers an InvalidArgument but also throws an abort signal that crashes the...
TensorFlow vulnerable to `CHECK` failure in `TensorListReserve` via missing validation
ImpactIn core/kernels/listkernels.cc's TensorListReserve, numelements is assumed to be a tensor of size 1. When a numelements of more than 1 element is provided, then tf.rawops.TensorListReserve fails the CHECKEQ in CheckIsAlignedAndSingleElement.pythonimport tensorflow as...
TensorFlow vulnerable to `CHECK` failures in `UnbatchGradOp`
ImpactThe UnbatchGradOp function takes an argument id that is assumed to be a scalar. A nonscalar id can trigger a CHECK failure and crash the program.pythonimport numpy as npimport tensorflow as tf id is not scalartf.rawops.UnbatchGradoriginalinput= tf.constant1,batchindex=tf.constant0,0,0 , ,...
TensorFlow vulnerable to `CHECK` failures in `UnbatchGradOp`
ImpactThe UnbatchGradOp function takes an argument id that is assumed to be a scalar. A nonscalar id can trigger a CHECK failure and crash the program.pythonimport numpy as npimport tensorflow as tf id is not scalartf.rawops.UnbatchGradoriginalinput= tf.constant1,batchindex=tf.constant0,0,0 , ,...
TensorFlow vulnerable to `CHECK` fail in `CollectiveGather`
ImpactWhen CollectiveGather receives an scalar input input, it gives a CHECK fails that can be used to trigger a denial of service attack.pythonimport tensorflow as tfarg0=1arg1=1arg2=1arg3=1arg4=3, 3,3arg5='auto'arg6=0arg7=''tf.rawops.CollectiveGatherinput=arg0, groupsize=arg1, groupkey=arg2,...
TensorFlow vulnerable to `CHECK` fail in `CollectiveGather`
ImpactWhen CollectiveGather receives an scalar input input, it gives a CHECK fails that can be used to trigger a denial of service attack.pythonimport tensorflow as tfarg0=1arg1=1arg2=1arg3=1arg4=3, 3,3arg5='auto'arg6=0arg7=''tf.rawops.CollectiveGatherinput=arg0, groupsize=arg1, groupkey=arg2,...
TensorFlow vulnerable to `CHECK` failures in `FractionalAvgPoolGrad`
ImpactThe implementation of FractionalAvgPoolGrad does not fully validate the input originputtensorshape. This results in an overflow that results in a CHECK failure which can be used to trigger a denial of service attack.pythonimport tensorflow as tfoverlapping = Trueoriginputtensorshape =...
TensorFlow vulnerable to `CHECK` failures in `FractionalAvgPoolGrad`
ImpactThe implementation of FractionalAvgPoolGrad does not fully validate the input originputtensorshape. This results in an overflow that results in a CHECK failure which can be used to trigger a denial of service attack.pythonimport tensorflow as tfoverlapping = Trueoriginputtensorshape =...
TensorFlow vulnerable to Int overflow in `RaggedRangeOp`
ImpactThe RaggedRangOp function takes an argument limits that is eventually used to construct a TensorShape as an int64. If limits is a very large float, it can overflow when converted to an int64. This triggers an InvalidArgument but also throws an abort signal that crashes the...
TensorFlow vulnerable to floating point exception in `Conv2D`
ImpactIf Conv2D is given empty input and the filter and padding sizes are valid, the output is all-zeros. This causes division-by-zero floating point exceptions that can be used to trigger a denial of service attack.pythonimport tensorflow as tfimport numpy as npwith tf.device"CPU": also can be...
TensorFlow vulnerable to `CHECK` failures in `AvgPool3DGrad`
ImpactThe implementation of AvgPool3DGradOp does not fully validate the input originputshape. This results in an overflow that results in a CHECK failure which can be used to trigger a denial of service attack:pythonimport tensorflow as tfksize = 1, 1, 1, 1, 1strides = 1, 1, 1, 1, 1padding =...
TensorFlow vulnerable to `CHECK` failures in `AvgPool3DGrad`
ImpactThe implementation of AvgPool3DGradOp does not fully validate the input originputshape. This results in an overflow that results in a CHECK failure which can be used to trigger a denial of service attack:pythonimport tensorflow as tfksize = 1, 1, 1, 1, 1strides = 1, 1, 1, 1, 1padding =...
TensorFlow vulnerable to `CHECK` failure in `TensorListReserve` via missing validation
ImpactIn core/kernels/listkernels.cc's TensorListReserve, numelements is assumed to be a tensor of size 1. When a numelements of more than 1 element is provided, then tf.rawops.TensorListReserve fails the CHECKEQ in CheckIsAlignedAndSingleElement.pythonimport tensorflow as...
TensorFlow vulnerable to null dereference on MLIR on empty function attributes
ImpactEig can be fed an incorrect Tout input, resulting in a CHECK fail that can trigger a denial of service attack.pythonimport tensorflow as tfimport numpy as np arg0=tf.constantvalue=np.random.randomsize=2, 2, shape=2, 2, dtype=tf.float32arg1=tf.complex128arg2=Truearg3=''tf.rawops.Eiginput=arg...