CVE-2022-23559: Integer overflow in TFLite

Published Feb 4, 2022
·
Updated

Impact An attacker can craft a TFLite model that would cause an integer overflow in embedding lookup operations:

cc int embeddingsize = 1; int lookupsize = 1; for (int i = 0; i < lookuprank - 1; i++, k++) { const int dim = denseshape->data.i32[i]; lookupsize = dim; outputshape->data[k] = dim; } for (int i = 1; i < embeddingrank; i++, k++) { const int dim = SizeOfDimension(value, i); embeddingsize = dim; outputshape->data[k] = dim; }

Both embeddingsize and lookupsize are products of values provided by the user. Hence, a malicious user could trigger overflows in the multiplication.

In certain scenarios, this can then result in heap OOB read/write. Patches We have patched the issue in GitHub commits f19be71717c497723ba0cea0379e84f061a75e01, 1de49725a5fc4e48f1a3b902ec3599ee99283043 and a4e401da71458d253b05e41f28637b65baf64be4.

The fix will be included in TensorFlow 2.8.0. We will also cherrypick this commit on TensorFlow 2.7.1, TensorFlow 2.6.3, and TensorFlow 2.5.3, as these are also affected and still in supported range.

For more information Please consult our security guide for more information regarding the security model and how to contact us with issues and questions.

Attribution This vulnerability has been reported by Wang Xuan of Qihoo 360 AIVul Team.

Other sources

Tensorflow is an Open Source Machine Learning Framework. An attacker can craft a TFLite model that would cause an integer overflow in embedding lookup operations. Both embeddingsize and lookupsize are products of values provided by the user. Hence, a malicious user could trigger overflows in the multiplication. In certain scenarios, this can then result in heap OOB read/write. Users are advised to upgrade to a patched version.

NVD

Affected Software

12 affected componentsFixes available
pip/tensorflow-gpu=2.7.0
2.7.1
pip/tensorflow-gpu>=2.6.0<2.6.3
2.6.3
pip/tensorflow-gpu<2.5.3
2.5.3
pip/tensorflow-cpu=2.7.0
2.7.1
pip/tensorflow-cpu>=2.6.0<2.6.3
2.6.3
pip/tensorflow-cpu<2.5.3
2.5.3
pip/tensorflow=2.7.0
2.7.1
pip/tensorflow>=2.6.0<2.6.3
2.6.3
pip/tensorflow<2.5.3
2.5.3
Google TensorFlow<=2.5.2
Google TensorFlow>=2.6.0<=2.6.2
Google TensorFlow=2.7.0

Event History

Feb 4, 2022
CVE Published
via MITRE·10:32 PM
Data Sourced
via MITRE·10:32 PM
DescriptionSeverityWeakness
Feb 9, 2022
Advisory Published
via GitHub·11:52 PM

Frequently Asked Questions

1

What is the severity of CVE-2022-23559?

CVE-2022-23559 has a high severity rating due to the potential for integer overflow vulnerabilities.

2

How do I fix CVE-2022-23559?

To mitigate CVE-2022-23559, update TensorFlow to version 2.5.3, 2.6.3, or 2.7.1 or later.

3

Which versions of TensorFlow are affected by CVE-2022-23559?

CVE-2022-23559 affects Google TensorFlow versions up to and including 2.5.2, and versions between 2.6.0 and 2.6.2, as well as 2.7.0.

4

What types of operations are impacted by CVE-2022-23559?

CVE-2022-23559 specifically impacts embedding lookup operations in TensorFlow.

5

Who can be affected by CVE-2022-23559?

Any application or service using the vulnerable versions of TensorFlow for machine learning tasks may be affected by CVE-2022-23559.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203