Tensorflow is an Open Source Machine Learning Framework. The GraphDef
format in TensorFlow does not allow self recursive functions. The runtime assumes that this invariant is satisfied. However, a GraphDef
containing a fragment such as the following can be consumed when loading a SavedModel
. This would result in a stack overflow during execution as resolving each NodeDef
means resolving the function itself and its nodes. 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.
The product does not properly control the amount of recursion that takes place, consuming excessive resources, such as allocated memory or the program stack.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Tensorflow | * | 2.5.2 (including) | |
Tensorflow | 2.6.0 (including) | 2.6.2 (including) | |
Tensorflow | 2.7.0 (including) | 2.7.0 (including) |