CVE-2020-15209
Severity CVSS v4.0:
Pending analysis
Type:
CWE-476
NULL Pointer Dereference
Publication date:
25/09/2020
Last modified:
16/09/2021
Description
In tensorflow-lite before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1, a crafted TFLite model can force a node to have as input a tensor backed by a `nullptr` buffer. This can be achieved by changing a buffer index in the flatbuffer serialization to convert a read-only tensor to a read-write one. The runtime assumes that these buffers are written to before a possible read, hence they are initialized with `nullptr`. However, by changing the buffer index for a tensor and implicitly converting that tensor to be a read-write one, as there is nothing in the model that writes to it, we get a null pointer dereference. The issue is patched in commit 0b5662bc, and is released in TensorFlow versions 1.15.4, 2.0.3, 2.1.2, 2.2.1, or 2.3.1.
Impact
Base Score 3.x
5.90
Severity 3.x
MEDIUM
Base Score 2.0
4.30
Severity 2.0
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:a:google:tensorflow:*:*:*:*:lite:*:*:* | 1.15.4 (excluding) | |
| cpe:2.3:a:google:tensorflow:*:*:*:*:lite:*:*:* | 2.0.0 (including) | 2.0.3 (excluding) |
| cpe:2.3:a:google:tensorflow:*:*:*:*:lite:*:*:* | 2.1.0 (including) | 2.1.2 (excluding) |
| cpe:2.3:a:google:tensorflow:*:*:*:*:lite:*:*:* | 2.2.0 (including) | 2.2.1 (excluding) |
| cpe:2.3:a:google:tensorflow:*:*:*:*:lite:*:*:* | 2.3.0 (including) | 2.3.1 (excluding) |
| cpe:2.3:o:opensuse:leap:15.2:*:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- http://lists.opensuse.org/opensuse-security-announce/2020-10/msg00065.html
- https://github.com/tensorflow/tensorflow/commit/0b5662bc2be13a8c8f044d925d87fb6e56247cd8
- https://github.com/tensorflow/tensorflow/releases/tag/v2.3.1
- https://github.com/tensorflow/tensorflow/security/advisories/GHSA-qh32-6jjc-qprm



