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
Code Behaviors & Features
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. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →