Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2020-15211— Out of bounds access in tensorflow-lite

Quick assessment

Affected
tensorflow tensorflow
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Google TensorFlow是美国谷歌(Google)公司的一套用于机器学习的端到端开源平台。 tensorflow-lite 1.15.4之前版本, 2.0.3版本, 2.1.2版本, 2.2.1版本,2.3.1版本中存在安全漏洞,该漏洞允许攻击者从堆分配的数组的边界之外进行写入和读取。

CVSS 4.8 · Medium EPSS 0.92% · P59
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2020-15211

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Out of bounds access in tensorflow-lite
Source: CVE Program / CVE List V5
Vulnerability Description
In TensorFlow Lite before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1, saved models in the flatbuffer format use a double indexing scheme: a model has a set of subgraphs, each subgraph has a set of operators and each operator has a set of input/output tensors. The flatbuffer format uses indices for the tensors, indexing into an array of tensors that is owned by the subgraph. This results in a pattern of double array indexing when trying to get the data of each tensor. However, some operators can have some tensors be optional. To handle this scenario, the flatbuffer model uses a negative `-1` value as index for these tensors. This results in special casing during validation at model loading time. Unfortunately, this means that the `-1` index is a valid tensor index for any operator, including those that don't expect optional inputs and including for output tensors. Thus, this allows writing and reading from outside the bounds of heap allocated arrays, although only at a specific offset from the start of these arrays. This results in both read and write gadgets, albeit very limited in scope. The issue is patched in several commits (46d5b0852, 00302787b7, e11f5558, cd31fd0ce, 1970c21, and fff2c83), and is released in TensorFlow versions 1.15.4, 2.0.3, 2.1.2, 2.2.1, or 2.3.1. A potential workaround would be to add a custom `Verifier` to the model loading code to ensure that only operators which accept optional inputs use the `-1` special value and only for the tensors that they expect to be optional. Since this allow-list type approach is erro-prone, we advise upgrading to the patched code.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N
Source: CVE Program / CVE List V5
Vulnerability Type
跨界内存读
Source: CVE Program / CVE List V5
Vulnerability Title
Google TensorFlow 缓冲区错误漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Google TensorFlow是美国谷歌(Google)公司的一套用于机器学习的端到端开源平台。 tensorflow-lite 1.15.4之前版本, 2.0.3版本, 2.1.2版本, 2.2.1版本,2.3.1版本中存在安全漏洞,该漏洞允许攻击者从堆分配的数组的边界之外进行写入和读取。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
tensorflow tensorflow < 1.15.4 -

II. Public POCs for CVE-2020-15211

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2020-15211

请登录查看更多情报信息。

Patches & Fixes for CVE-2020-15211 (6)

Vendor Advisories for CVE-2020-15211 (1)

Mailing List Discussions for CVE-2020-15211 (1)

Other References for CVE-2020-15211 (1)

Same Patch Batch · tensorflow · 2020-09-25 · 25 CVEs total

CVE-2020-15202 9.0 CRITICAL Integer truncation in Shard API usage
CVE-2020-15205 9.0 CRITICAL Data leak in Tensorflow
CVE-2020-15206 9.0 CRITICAL Denial of Service in Tensorflow
CVE-2020-15207 8.7 HIGH Segfault and data corruption in tensorflow-lite
CVE-2020-15196 8.5 HIGH Heap buffer overflow in Tensorflow
CVE-2020-15195 8.5 HIGH Heap buffer overflow in Tensorflow
CVE-2020-15212 8.1 HIGH Out of bounds access in tensorflow-lite
CVE-2020-15214 8.1 HIGH Out of bounds write in tensorflow-lite
CVE-2020-15203 7.5 HIGH Denial of Service in Tensorflow
CVE-2020-15208 7.4 HIGH Data corruption in tensorflow-lite
CVE-2020-15193 7.1 HIGH Memory corruption in Tensorflow
CVE-2020-15210 6.5 MEDIUM Segmentation fault in tensorflow-lite
CVE-2020-15197 6.3 MEDIUM Denial of Service in Tensorflow
CVE-2020-15209 5.9 MEDIUM Null pointer dereference in tensorflow-lite
CVE-2020-15199 5.9 MEDIUM Denial of Service in Tensorflow
CVE-2020-15200 5.9 MEDIUM Segfault in Tensorflow
CVE-2020-15198 5.4 MEDIUM Heap buffer overflow in Tensorflow
CVE-2020-15190 5.3 MEDIUM Segfault in Tensorflow
CVE-2020-15191 5.3 MEDIUM Undefined behavior in Tensorflow
CVE-2020-15204 5.3 MEDIUM Segfault in Tensorflow

Showing top 20 of 25 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2020-15211

No comments yet


Leave a comment