CVE-2020-15207: Segfault and data corruption in tensorflow-lite
CVE-2020-15207 · Severity: low · CVSS 3.1 · Published 2020-09-25
In tensorflow-lite before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1, to mimic Python's indexing with negative values, TFLite uses `ResolveAxis` to convert negative values to positive indices. However, the only check that the converted index is now valid is only present in debug builds. If the `DCHECK` does not trigger, then code execution moves ahead with a negative index. This, in turn, results in accessing data out of bounds which results in segfaults and/or data corruption. The issue is patched in commit 2d88f470dea2671b430884260f3626b1fe99830a, and is released in TensorFlow versions 1.15.4, 2.0.3, 2.1.2, 2.2.1, or 2.3.1.
Yes. tensorflow (PyPI): upgrade to 1.15.4, 2.3.1 or later; tensorflow-cpu (PyPI): upgrade to 1.15.4, 2.3.1 or later; tensorflow-gpu (PyPI): upgrade to 1.15.4, 2.3.1 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
Am I affected by CVE-2020-15207?
Check whether you run tensorflow (PyPI), tensorflow-cpu (PyPI) or tensorflow-gpu (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.
How to fix
tensorflow (PyPI): upgrade to 1.15.4, 2.3.1 or later
pip install "tensorflow>=2.3.1"
tensorflow-cpu (PyPI): upgrade to 1.15.4, 2.3.1 or later
pip install "tensorflow-cpu>=2.3.1"
tensorflow-gpu (PyPI): upgrade to 1.15.4, 2.3.1 or later