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