Skip to content
OpenAdvisories
Medium · 4.4 CVE-2020-26268 BIT-tensorflow-2020-26268EUVD-2020-0215GHSA-hhvc-g5hv-48c6PYSEC-2020-255PYSEC-2020-299PYSEC-2020-334

Write to immutable memory region in TensorFlow

Published Dec 10, 2020 · Updated Aug 4, 2024 · Assigned by GitHub_M

Description

In affected versions of TensorFlow the tf.raw_ops.ImmutableConst operation returns a constant tensor created from a memory mapped file which is assumed immutable. However, if the type of the tensor is not an integral type, the operation crashes the Python interpreter as it tries to write to the memory area. If the file is too small, TensorFlow properly returns an error as the memory area has fewer bytes than what is needed for the tensor it creates. However, as soon as there are enough bytes, the above snippet causes a segmentation fault. This is because the allocator used to return the buffer data is not marked as returning an opaque handle since the needed virtual method is not overridden. This is fixed in versions 1.15.5, 2.0.4, 2.1.3, 2.2.2, 2.3.2, and 2.4.0.

Affected products

VendorProductAffectedFixed
tensorflow tensorflow < 1.15.5, >= 2.0.0, < 2.0.4, >= 2.1.0, < 2.1.3, >= 2.2.0, < 2.2.2, >= 2.3.0, < 2.3.2 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
SUSE Package Hub 15 SP3 bazel-skylib1.0.3 1.0.3-bp153.2.1 openSUSE-SU-2022:10014-1
SUSE Package Hub 15 SP3 bazel3.7 3.7.2-bp153.4.1 openSUSE-SU-2022:10014-1
SUSE Package Hub 15 SP3 tensorflow2 +3 2.6.0-bp153.2.3.1 openSUSE-SU-2022:10014-1
ReleasePackageFixed inAdvisory
openSUSE Leap 15.3 bazel-skylib1.0.3 1.0.3-bp153.2.1 openSUSE-SU-2022:10014-1
openSUSE Leap 15.3 bazel3.7 3.7.2-bp153.4.1 openSUSE-SU-2022:10014-1
openSUSE Leap 15.3 tensorflow2 +3 2.6.0-bp153.2.3.1 openSUSE-SU-2022:10014-1

Affected packages

EcosystemPackageAffectedFixedRecord
PyPI tensorflow < 1.15.5 1.15.5 GHSA-hhvc-g5hv-48c6
PyPI tensorflow >= 2.0.0, < 2.0.4 2.0.4 GHSA-hhvc-g5hv-48c6
PyPI tensorflow >= 2.1.0, < 2.1.3 2.1.3 GHSA-hhvc-g5hv-48c6
PyPI tensorflow >= 2.2.0, < 2.2.2 2.2.2 GHSA-hhvc-g5hv-48c6
PyPI tensorflow >= 2.3.0, < 2.3.2 2.3.2 GHSA-hhvc-g5hv-48c6
PyPI tensorflow < 1.15.5 · >= 2.0.0, < 2.0.4 · >= 2.1.0, < 2.1.3 · >= 2.2.0, < 2.2.2 · >= 2.3.0, < 2.3.2 1.15.5, 2.0.4, 2.1.3, 2.2.2, 2.3.2 PYSEC-2020-255
PyPI tensorflow-cpu < 1.15.5 1.15.5 GHSA-hhvc-g5hv-48c6
PyPI tensorflow-cpu >= 2.0.0, < 2.0.4 2.0.4 GHSA-hhvc-g5hv-48c6
PyPI tensorflow-cpu >= 2.1.0, < 2.1.3 2.1.3 GHSA-hhvc-g5hv-48c6
PyPI tensorflow-cpu >= 2.2.0, < 2.2.2 2.2.2 GHSA-hhvc-g5hv-48c6
PyPI tensorflow-cpu >= 2.3.0, < 2.3.2 2.3.2 GHSA-hhvc-g5hv-48c6
PyPI tensorflow-cpu < 1.15.5 · >= 2.0.0, < 2.0.4 · >= 2.1.0, < 2.1.3 · >= 2.2.0, < 2.2.2 · >= 2.3.0, < 2.3.2 1.15.5, 2.0.4, 2.1.3, 2.2.2, 2.3.2 PYSEC-2020-299
PyPI tensorflow-gpu < 1.15.5 1.15.5 GHSA-hhvc-g5hv-48c6
PyPI tensorflow-gpu >= 2.0.0, < 2.0.4 2.0.4 GHSA-hhvc-g5hv-48c6
PyPI tensorflow-gpu >= 2.1.0, < 2.1.3 2.1.3 GHSA-hhvc-g5hv-48c6
PyPI tensorflow-gpu >= 2.2.0, < 2.2.2 2.2.2 GHSA-hhvc-g5hv-48c6
PyPI tensorflow-gpu >= 2.3.0, < 2.3.2 2.3.2 GHSA-hhvc-g5hv-48c6
PyPI tensorflow-gpu < 1.15.5 · >= 2.0.0, < 2.0.4 · >= 2.1.0, < 2.1.3 · >= 2.2.0, < 2.2.2 · >= 2.3.0, < 2.3.2 1.15.5, 2.0.4, 2.1.3, 2.2.2, 2.3.2 PYSEC-2020-334

Advisories 1

References