PT-2020-14283 · Google · Tensorflow Lite
Published
2020-09-25
·
Updated
2024-03-06
·
CVE-2020-15212
CVSS v4.0
9.1
Critical
| Vector | AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:H/SC:L/SI:L/SA:H |
Name of the Vulnerable Software and Affected Versions
TensorFlow Lite versions prior to 2.2.1
TensorFlow Lite versions prior to 2.3.1
Description
The issue allows models using segment sum to trigger writes outside of bounds of heap allocated buffers by inserting negative elements in the
segment ids tensor. Users having access to segment ids data can alter output index and then write to outside of output data buffer, potentially resulting in a segmentation fault or further corrupting the memory. This can be chained with other vulnerabilities to create more advanced exploits.Recommendations
For versions prior to 2.2.1, upgrade to TensorFlow 2.2.1.
For versions prior to 2.3.1, upgrade to TensorFlow 2.3.1.
As a temporary workaround, consider adding a custom
Verifier to the model loading code to ensure that the segment ids are all positive, although this only handles the case when the segment ids are stored statically in the model. A similar validation could be done if the segment ids are generated at runtime between inference steps. If the segment ids are generated as outputs of a tensor during inference steps, then there are no possible workarounds and users are advised to upgrade to patched code.Exploit
Fix
Memory Corruption
Found an issue in the description? Have something to add? Feel free to write us 👾
Weakness Enumeration
Related Identifiers
Affected Products
Tensorflow Lite