CVE-2022-23558: Integer overflow in TFLite array creation
(updated )
An attacker can craft a TFLite model that would cause an integer overflow in TfLiteIntArrayCreate
:
TfLiteIntArray* TfLiteIntArrayCreate(int size) {
int alloc_size = TfLiteIntArrayGetSizeInBytes(size);
// ...
TfLiteIntArray* ret = (TfLiteIntArray*)malloc(alloc_size);
// ...
}
The TfLiteIntArrayGetSizeInBytes
returns an int
instead of a size_t
:
int TfLiteIntArrayGetSizeInBytes(int size) {
static TfLiteIntArray dummy;
int computed_size = sizeof(dummy) + sizeof(dummy.data[0]) * size;
References
- github.com/advisories/GHSA-9gwq-6cwj-47h3
- github.com/pypa/advisory-database/tree/main/vulns/tensorflow-cpu/PYSEC-2022-67.yaml
- github.com/pypa/advisory-database/tree/main/vulns/tensorflow-gpu/PYSEC-2022-122.yaml
- github.com/tensorflow/tensorflow
- github.com/tensorflow/tensorflow/blob/ca6f96b62ad84207fbec580404eaa7dd7403a550/tensorflow/lite/c/common.c
- github.com/tensorflow/tensorflow/blob/ca6f96b62ad84207fbec580404eaa7dd7403a550/tensorflow/lite/c/common.c
- github.com/tensorflow/tensorflow/commit/a1e1511dde36b3f8aa27a6ec630838e7ea40e091
- github.com/tensorflow/tensorflow/security/advisories/GHSA-9gwq-6cwj-47h3
- nvd.nist.gov/vuln/detail/CVE-2022-23558
Detect and mitigate CVE-2022-23558 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 →