CVE-2021-41225: A use of uninitialized value vulnerability in Tensorflow
(updated )
TensorFlow’s Grappler optimizer has a use of unitialized variable:
const NodeDef* dequeue_node;
for (const auto& train_node : train_nodes) {
if (IsDequeueOp(*train_node)) {
dequeue_node = train_node;
break;
}
}
if (dequeue_node) {
...
}
If the train_nodes
vector (obtained from the saved model that gets optimized) does not contain a Dequeue
node, then dequeue_node
is left unitialized.
References
- github.com/advisories/GHSA-7r94-xv9v-63jw
- github.com/pypa/advisory-database/tree/main/vulns/tensorflow-cpu/PYSEC-2021-634.yaml
- github.com/pypa/advisory-database/tree/main/vulns/tensorflow-gpu/PYSEC-2021-832.yaml
- github.com/pypa/advisory-database/tree/main/vulns/tensorflow/PYSEC-2021-417.yaml
- github.com/tensorflow/tensorflow
- github.com/tensorflow/tensorflow/commit/68867bf01239d9e1048f98cbad185bf4761bedd3
- github.com/tensorflow/tensorflow/security/advisories/GHSA-7r94-xv9v-63jw
- nvd.nist.gov/vuln/detail/CVE-2021-41225
Detect and mitigate CVE-2021-41225 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →