PT-2026-59768 · Pypi · Tensorflow

Published

2026-07-09

·

Updated

2026-07-09

CVSS v3.1

7.6

High

VectorAV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:H

Impact

An attacker can craft a TFLite model that would cause an integer overflow in TfLiteIntArrayCreate:
cc
TfLiteIntArray* TfLiteIntArrayCreate(int size) {
 int alloc size = TfLiteIntArrayGetSizeInBytes(size);
 // ...
 TfLiteIntArray* ret = (TfLiteIntArray*)malloc(alloc size);
 // ...
} 
The TfLiteIntArrayGetSizeInBytes returns an int instead of a size t:
cc
int TfLiteIntArrayGetSizeInBytes(int size) {
 static TfLiteIntArray dummy;

 int computed size = sizeof(dummy) + sizeof(dummy.data[0]) * size;
#if defined( MSC VER)
 // Context for why this is needed is in http://b/189926408#comment21
 computed size -= sizeof(dummy.data[0]);
#endif
 return computed size;
}
An attacker can control model inputs such that computed size overflows the size of int datatype.

Patches

We have patched the issue in GitHub commit a1e1511dde36b3f8aa27a6ec630838e7ea40e091.
The fix will be included in TensorFlow 2.8.0. We will also cherrypick this commit on TensorFlow 2.7.1, TensorFlow 2.6.3, and TensorFlow 2.5.3, as these are also affected and still in supported range.

For more information

Please consult our security guide for more information regarding the security model and how to contact us with issues and questions.

Attribution

This vulnerability has been reported by Wang Xuan of Qihoo 360 AIVul Team.

Fix

Found an issue in the description? Have something to add? Feel free to write us 👾

Related Identifiers

PYSEC-2026-3151

Affected Products

Tensorflow