9230 matches found
Arbitrary code execution due to YAML deserialization
Impact TensorFlow and Keras can be tricked to perform arbitrary code execution when deserializing a Keras model from YAML format. python from tensorflow.keras import models payload = ''' !!python/object/new:type args: 'z', !!python/tuple , 'extend': !!python/name:exec listitems:...
GHSA-R6JX-9G48-2R5R Arbitrary code execution due to YAML deserialization
Impact TensorFlow and Keras can be tricked to perform arbitrary code execution when deserializing a Keras model from YAML format. python from tensorflow.keras import models payload = ''' !!python/object/new:type args: 'z', !!python/tuple , 'extend': !!python/name:exec listitems:...
Heap OOB in nested `tf.map_fn` with `RaggedTensor`s
Impact It is possible to nest a tf.mapfn within another tf.mapfn call. However, if the input tensor is a RaggedTensor and there is no function signature provided, code assumes the output is a fully specified tensor and fills output buffer with uninitialized contents from the heap: python import...
Division by zero in TFLite
Impact The implementation of fully connected layers in TFLite is vulnerable to a division by zero error: cc const int batchsize = inputsize / filter-dims-data1; An attacker can craft a model such that filter-dims-data1 is 0. Patches We have patched the issue in GitHub commit...
GHSA-CFPJ-3Q4C-JHVR Division by zero in TFLite
Impact The implementation of fully connected layers in TFLite is vulnerable to a division by zero error: cc const int batchsize = inputsize / filter-dims-data1; An attacker can craft a model such that filter-dims-data1 is 0. Patches We have patched the issue in GitHub commit...
NPE in TFLite
Impact The implementation of SVDF in TFLite is vulnerable to a null pointer error: cc TfLiteTensor state = GetVariableInputcontext, node, kStateTensor; // ... GetTensorDatastate The GetVariableInput function can return a null pointer but GetTensorData assumes that the argument is always a valid...
GHSA-7XWJ-5R4V-429P NPE in TFLite
Impact The implementation of SVDF in TFLite is vulnerable to a null pointer error: cc TfLiteTensor state = GetVariableInputcontext, node, kStateTensor; // ... GetTensorDatastate The GetVariableInput function can return a null pointer but GetTensorData assumes that the argument is always a valid...
GHSA-4C4G-CRQM-XRXW Use of unitialized value in TFLite
Impact All TFLite operations that use quantization can be made to use unitialized values. For example: cc const auto affinequantization = reinterpretcast filter-quantization.params; The issue stems from the fact that quantization.params is only valid if quantization.type is different that...
Use of unitialized value in TFLite
Impact All TFLite operations that use quantization can be made to use unitialized values. For example: cc const auto affinequantization = reinterpretcast filter-quantization.params; The issue stems from the fact that quantization.params is only valid if quantization.type is different that...
GHSA-RHRQ-64MQ-HF9H FPE in TFLite division operations
Impact The implementation of division in TFLite is vulnerable to a division by 0 error There is no check that the divisor tensor does not contain zero elements. Patches We have patched the issue in GitHub commit 1e206baedf8bef0334cca3eb92bab134ef525a28. The fix will be included in TensorFlow 2.6....
FPE in TFLite division operations
Impact The implementation of division in TFLite is vulnerable to a division by 0 error There is no check that the divisor tensor does not contain zero elements. Patches We have patched the issue in GitHub commit 1e206baedf8bef0334cca3eb92bab134ef525a28. The fix will be included in TensorFlow 2.6....
GHSA-Q7F7-544H-67H9 FPE in TFLite pooling operations
Impact The implementations of pooling in TFLite are vulnerable to division by 0 errors as there are no checks for divisors not being 0. Patches We have patched the issue in GitHub commit dfa22b348b70bb89d6d6ec0ff53973bacb4f4695. The fix will be included in TensorFlow 2.6.0. We will also cherrypic...
FPE in TFLite pooling operations
Impact The implementations of pooling in TFLite are vulnerable to division by 0 errors as there are no checks for divisors not being 0. Patches We have patched the issue in GitHub commit dfa22b348b70bb89d6d6ec0ff53973bacb4f4695. The fix will be included in TensorFlow 2.6.0. We will also cherrypic...
Heap OOB in TFLite
Impact TFLite's expanddims.cc contains a vulnerability which allows reading one element outside of bounds of heap allocated data: cc if axis size; ++i if i datai = inputdims.datai; else if i == axis outputdims-datai = 1; else outputdims-datai = inputdims.datai - 1; If axis is a large negative val...
GHSA-C545-C4F9-RF6V Heap OOB in TFLite
Impact TFLite's expanddims.cc contains a vulnerability which allows reading one element outside of bounds of heap allocated data: cc if axis size; ++i if i datai = inputdims.datai; else if i == axis outputdims-datai = 1; else outputdims-datai = inputdims.datai - 1; If axis is a large negative val...
GHSA-JWF9-W5XM-F437 Heap OOB in TFLite's `Gather*` implementations
Impact TFLite's GatherNd implementation does not support negative indices but there are no checks for this situation. Hence, an attacker can read arbitrary data from the heap by carefully crafting a model with negative values in indices. Similar issue exists in Gather implementation. python impor...
Heap OOB in TFLite's `Gather*` implementations
Impact TFLite's GatherNd implementation does not support negative indices but there are no checks for this situation. Hence, an attacker can read arbitrary data from the heap by carefully crafting a model with negative values in indices. Similar issue exists in Gather implementation. python impor...
GHSA-MHHC-Q96P-MFM9 Infinite loop in TFLite
Impact The strided slice implementation in TFLite has a logic bug which can allow an attacker to trigger an infinite loop. This arises from newly introduced support for ellipsis in axis definition: cc for int i = 0; i params-ellipsismask // ... int ellipsisendidx = std::mini + 1 + numaddaxis +...
Infinite loop in TFLite
Impact The strided slice implementation in TFLite has a logic bug which can allow an attacker to trigger an infinite loop. This arises from newly introduced support for ellipsis in axis definition: cc for int i = 0; i params-ellipsismask // ... int ellipsisendidx = std::mini + 1 + numaddaxis +...
GHSA-VCJJ-9VG7-VF68 Null pointer dereference in TFLite
Impact An attacker can craft a TFLite model that would trigger a null pointer dereference, which would result in a crash and denial of service: python import tensorflow as tf model = tf.keras.models.Sequential model.addtf.keras.Inputshape=1, 2, 3 model.addtf.keras.layers.Dense0, activation='relu'...