CVE-2022-23591: Stack overflow in TensorFlow
(updated )
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
:
library {
function {
signature {
name: "SomeOp"
description: "Self recursive op"
}
node_def {
name: "1"
op: "SomeOp"
}
node_def {
name: "2"
op: "SomeOp"
}
}
}
This would result in a stack overflow during execution as resolving each NodeDef
means resolving the function itself and its nodes.
References
- github.com/advisories/GHSA-247x-2f9f-5wp7
- github.com/pypa/advisory-database/tree/main/vulns/tensorflow-cpu/PYSEC-2022-100.yaml
- github.com/pypa/advisory-database/tree/main/vulns/tensorflow-gpu/PYSEC-2022-155.yaml
- github.com/tensorflow/tensorflow
- github.com/tensorflow/tensorflow/commit/448a16182065bd08a202d9057dd8ca541e67996c
- github.com/tensorflow/tensorflow/security/advisories/GHSA-247x-2f9f-5wp7
- nvd.nist.gov/vuln/detail/CVE-2022-23591
Detect and mitigate CVE-2022-23591 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 →