CVSS2
Attack Vector
NETWORK
Attack Complexity
MEDIUM
Authentication
NONE
Confidentiality Impact
NONE
Integrity Impact
NONE
Availability Impact
PARTIAL
AV:N/AC:M/Au:N/C:N/I:N/A:P
CVSS3
Attack Vector
NETWORK
Attack Complexity
HIGH
Privileges Required
NONE
User Interaction
NONE
Scope
UNCHANGED
Confidentiality Impact
NONE
Integrity Impact
NONE
Availability Impact
HIGH
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
EPSS
Percentile
52.3%
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
:
https://github.com/tensorflow/tensorflow/blob/0e68f4d3295eb0281a517c3662f6698992b7b2cf/tensorflow/lite/core/subgraph.cc#L1224-L1227
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.
We have patched the issue in 0b5662bc and will release patch releases for all versions between 1.15 and 2.3.
We recommend users to upgrade to TensorFlow 1.15.4, 2.0.3, 2.1.2, 2.2.1, or 2.3.1.
Please consult our security guide for more information regarding the security model and how to contact us with issues and questions.
This vulnerability has been reported by members of the Aivul Team from Qihoo 360 but was also discovered through variant analysis of GHSA-cvpc-8phh-8f45.
Vendor | Product | Version | CPE |
---|---|---|---|
* | tensorflow-gpu | 2.3.0 | cpe:2.3:a:*:tensorflow-gpu:2.3.0:*:*:*:*:*:*:* |
* | tensorflow-gpu | 2.2.0 | cpe:2.3:a:*:tensorflow-gpu:2.2.0:*:*:*:*:*:*:* |
* | tensorflow-gpu | * | cpe:2.3:a:*:tensorflow-gpu:*:*:*:*:*:*:*:* |
* | tensorflow-cpu | 2.3.0 | cpe:2.3:a:*:tensorflow-cpu:2.3.0:*:*:*:*:*:*:* |
* | tensorflow-cpu | 2.2.0 | cpe:2.3:a:*:tensorflow-cpu:2.2.0:*:*:*:*:*:*:* |
* | tensorflow-cpu | * | cpe:2.3:a:*:tensorflow-cpu:*:*:*:*:*:*:*:* |
tensorflow | tensorflow | 2.3.0 | cpe:2.3:a:tensorflow:tensorflow:2.3.0:*:*:*:*:*:*:* |
tensorflow | tensorflow | 2.2.0 | cpe:2.3:a:tensorflow:tensorflow:2.2.0:*:*:*:*:*:*:* |
tensorflow | tensorflow | * | cpe:2.3:a:tensorflow:tensorflow:*:*:*:*:*:*:*:* |
lists.opensuse.org/opensuse-security-announce/2020-10/msg00065.html
github.com/advisories/GHSA-qh32-6jjc-qprm
github.com/tensorflow/tensorflow/commit/0b5662bc2be13a8c8f044d925d87fb6e56247cd8
github.com/tensorflow/tensorflow/releases/tag/v2.3.1
github.com/tensorflow/tensorflow/security/advisories/GHSA-qh32-6jjc-qprm
nvd.nist.gov/vuln/detail/CVE-2020-15209
CVSS2
Attack Vector
NETWORK
Attack Complexity
MEDIUM
Authentication
NONE
Confidentiality Impact
NONE
Integrity Impact
NONE
Availability Impact
PARTIAL
AV:N/AC:M/Au:N/C:N/I:N/A:P
CVSS3
Attack Vector
NETWORK
Attack Complexity
HIGH
Privileges Required
NONE
User Interaction
NONE
Scope
UNCHANGED
Confidentiality Impact
NONE
Integrity Impact
NONE
Availability Impact
HIGH
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
EPSS
Percentile
52.3%