PT-2021-18365 · Google · Tensorflow

Mihaimaruseac

·

Published

2021-05-14

·

Updated

2024-03-06

·

CVE-2021-29614

CVSS v3.1

7.8

High

VectorAV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Name of the Vulnerable Software and Affected Versions TensorFlow versions prior to 2.5.0 TensorFlow version 2.4.2 TensorFlow version 2.3.3 TensorFlow version 2.2.3 TensorFlow version 2.1.4
Description The implementation of tf.io.decode raw produces incorrect results and crashes the Python interpreter when combining fixed length and wider datatypes. The issue arises from a confusion about pointer arithmetic rules in the implementation of the padded version. This leads to parts of the input not being decoded into the output and results in writing to outside the bounds of the backing data, causing an interpreter crash. More severe attacks can be mounted due to the ability to write to periodically placed locations in memory.
Recommendations For TensorFlow versions prior to 2.5.0, update to version 2.5.0 or later. For TensorFlow version 2.4.2, apply the cherrypicked commit. For TensorFlow version 2.3.3, apply the cherrypicked commit. For TensorFlow version 2.2.3, apply the cherrypicked commit. For TensorFlow version 2.1.4, apply the cherrypicked commit. As a temporary workaround, consider avoiding the use of tf.io.decode raw with fixed length and wider datatypes until a patch is applied.

Exploit

Fix

Memory Corruption

Improper Initialization

Weakness Enumeration

Related Identifiers

BIT-TENSORFLOW-2021-29614
CVE-2021-29614
GHSA-8PMX-P244-G88H
PYSEC-2021-251
PYSEC-2021-542
PYSEC-2021-740

Affected Products

Tensorflow