xref: /aosp_15_r20/external/tensorflow/tensorflow/security/advisory/tfsa-2021-168.md (revision b6fb3261f9314811a0f4371741dbb8839866f948)
1## TFSA-2021-168: A use of uninitialized value vulnerability in Tensorflow
2
3### CVE Number
4CVE-2021-41225
5
6### Impact
7TensorFlow's Grappler optimizer has a [use of unitialized variable](https://github.com/tensorflow/tensorflow/blob/3457a2b122e50b4d44ceaaed5a663d635e5c22df/tensorflow/core/grappler/optimizers/auto_parallel.cc#L155-L164):
8
9```cc
10  const NodeDef* dequeue_node;
11  for (const auto& train_node : train_nodes) {
12    if (IsDequeueOp(*train_node)) {
13      dequeue_node = train_node;
14      break;
15    }
16  }
17
18  if (dequeue_node) {
19    ...
20  }
21```
22
23If the `train_nodes` vector (obtained from the saved model that gets optimized) does not contain a `Dequeue` node, then `dequeue_node` is left unitialized.
24
25### Patches
26We have patched the issue in GitHub commit [68867bf01239d9e1048f98cbad185bf4761bedd3](https://github.com/tensorflow/tensorflow/commit/68867bf01239d9e1048f98cbad185bf4761bedd3).
27
28The fix will be included in TensorFlow 2.7.0. We will also cherrypick this commit on TensorFlow 2.6.1, TensorFlow 2.5.2, and TensorFlow 2.4.4, as these are also affected and still in supported range.
29
30### For more information
31Please consult [our security guide](https://github.com/tensorflow/tensorflow/blob/master/SECURITY.md) for more information regarding the security model and how to contact us with issues and questions.
32
33### Attribution
34This vulnerability has been reported by Qian Feng from Baidu Security Team.
35