CVE-2021-29597: Division by zero in TFLite's implementation of `SpaceToBatchNd`
(updated )
The implementation of the SpaceToBatchNd
TFLite operator is vulnerable to a division by zero error:
TF_LITE_ENSURE_EQ(context, final_dim_size % block_shape[dim], 0);
output_size->data[dim + 1] = final_dim_size / block_shape[dim];
An attacker can craft a model such that one dimension of the block
input is 0. Hence, the corresponding value in block_shape
is 0.
References
- github.com/advisories/GHSA-v52p-hfjf-wg88
- github.com/pypa/advisory-database/tree/main/vulns/tensorflow-cpu/PYSEC-2021-525.yaml
- github.com/pypa/advisory-database/tree/main/vulns/tensorflow-gpu/PYSEC-2021-723.yaml
- github.com/pypa/advisory-database/tree/main/vulns/tensorflow/PYSEC-2021-234.yaml
- github.com/tensorflow/tensorflow
- github.com/tensorflow/tensorflow/blob/412c7d9bb8f8a762c5b266c9e73bfa165f29aac8/tensorflow/lite/kernels/space_to_batch_nd.cc
- github.com/tensorflow/tensorflow/commit/6d36ba65577006affb272335b7c1abd829010708
- github.com/tensorflow/tensorflow/security/advisories/GHSA-v52p-hfjf-wg88
- nvd.nist.gov/vuln/detail/CVE-2021-29597
Detect and mitigate CVE-2021-29597 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 →