pysec-2020-132
Vulnerability from pysec
Published
2020-09-25 19:15
Modified
2020-10-29 16:15
Details
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.
Aliases
{ "affected": [ { "package": { "ecosystem": "PyPI", "name": "tensorflow", "purl": "pkg:pypi/tensorflow" }, "ranges": [ { "events": [ { "introduced": "0" }, { "fixed": "0b5662bc2be13a8c8f044d925d87fb6e56247cd8" } ], "repo": "https://github.com/tensorflow/tensorflow", "type": "GIT" }, { "events": [ { "introduced": "0" }, { "fixed": "1.15.4" }, { "introduced": "2.0.0" }, { "fixed": "2.0.3" }, { "introduced": "2.1.0" }, { "fixed": "2.1.2" }, { "introduced": "2.2.0" }, { "fixed": "2.2.1" }, { "introduced": "2.3.0" }, { "fixed": "2.3.1" } ], "type": "ECOSYSTEM" } ], "versions": [ "0.12.0rc0", "0.12.0rc1", "0.12.0", "0.12.1", "1.0.0", "1.0.1", "1.1.0rc0", "1.1.0rc1", "1.1.0rc2", "1.1.0", "1.2.0rc0", "1.2.0rc1", "1.2.0rc2", "1.2.0", "1.2.1", "1.3.0rc0", "1.3.0rc1", "1.3.0rc2", "1.3.0", "1.4.0rc0", "1.4.0rc1", "1.4.0", "1.4.1", "1.5.0rc0", "1.5.0rc1", "1.5.0", "1.5.1", "1.6.0rc0", "1.6.0rc1", "1.6.0", "1.7.0rc0", "1.7.0rc1", "1.7.0", "1.7.1", "1.8.0rc0", "1.8.0rc1", "1.8.0", "1.9.0rc0", "1.9.0rc1", "1.9.0rc2", "1.9.0", "1.10.0rc0", "1.10.0rc1", "1.10.0", "1.10.1", "1.11.0rc0", "1.11.0rc1", "1.11.0rc2", "1.11.0", "1.12.0rc0", "1.12.0rc1", "1.12.0rc2", "1.12.0", "1.12.2", "1.12.3", "1.13.0rc0", "1.13.0rc1", "1.13.0rc2", "1.13.1", "1.13.2", "1.14.0rc0", "1.14.0rc1", "1.14.0", "1.15.0rc0", "1.15.0rc1", "1.15.0rc2", "1.15.0rc3", "1.15.0", "1.15.2", "1.15.3", "2.0.0", "2.0.1", "2.0.2", "2.1.0", "2.1.1", "2.2.0", "2.3.0" ] } ], "aliases": [ "CVE-2020-15209", "GHSA-qh32-6jjc-qprm" ], "details": "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.", "id": "PYSEC-2020-132", "modified": "2020-10-29T16:15:00Z", "published": "2020-09-25T19:15:00Z", "references": [ { "type": "ADVISORY", "url": "https://github.com/tensorflow/tensorflow/security/advisories/GHSA-qh32-6jjc-qprm" }, { "type": "FIX", "url": "https://github.com/tensorflow/tensorflow/commit/0b5662bc2be13a8c8f044d925d87fb6e56247cd8" }, { "type": "WEB", "url": "https://github.com/tensorflow/tensorflow/releases/tag/v2.3.1" }, { "type": "WEB", "url": "http://lists.opensuse.org/opensuse-security-announce/2020-10/msg00065.html" } ] }
Loading…
Loading…
Sightings
Author | Source | Type | Date |
---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.