CVE-2021-29579

TensorFlow is an end-to-end open source platform for machine learning. The implementation of `tf.raw_ops.MaxPoolGrad` is vulnerable to a heap buffer overflow. The implementation(https://github.com/tensorflow/tensorflow/blob/ab1e644b48c82cb71493f4362b4dd38f4577a1cf/tensorflow/core/kernels/maxpooling_op.cc#L194-L203) fails to validate that indices used to access elements of input/output arrays are valid. Whereas accesses to `input_backprop_flat` are guarded by `FastBoundsCheck`, the indexing in `out_backprop_flat` can result in OOB access. The fix will be included in TensorFlow 2.5.0. We will also cherrypick this commit on TensorFlow 2.4.2, TensorFlow 2.3.3, TensorFlow 2.2.3 and TensorFlow 2.1.4, as these are also affected and still in supported range.
Configurations

Configuration 1 (hide)

OR cpe:2.3:a:google:tensorflow:*:*:*:*:*:*:*:*
cpe:2.3:a:google:tensorflow:*:*:*:*:*:*:*:*
cpe:2.3:a:google:tensorflow:*:*:*:*:*:*:*:*
cpe:2.3:a:google:tensorflow:*:*:*:*:*:*:*:*

History

20 May 2021, 15:43

Type Values Removed Values Added
CPE cpe:2.3:a:google:tensorflow:*:*:*:*:*:*:*:*
CWE CWE-119 CWE-787
CVSS v2 : unknown
v3 : unknown
v2 : 4.6
v3 : 7.8
References (MISC) https://github.com/tensorflow/tensorflow/commit/a74768f8e4efbda4def9f16ee7e13cf3922ac5f7 - (MISC) https://github.com/tensorflow/tensorflow/commit/a74768f8e4efbda4def9f16ee7e13cf3922ac5f7 - Patch, Third Party Advisory
References (CONFIRM) https://github.com/tensorflow/tensorflow/security/advisories/GHSA-79fv-9865-4qcv - (CONFIRM) https://github.com/tensorflow/tensorflow/security/advisories/GHSA-79fv-9865-4qcv - Exploit, Patch, Third Party Advisory

14 May 2021, 20:56

Type Values Removed Values Added
CWE CWE-119

14 May 2021, 20:15

Type Values Removed Values Added
New CVE

Information

Published : 2021-05-14 20:15

Updated : 2023-12-10 13:55


NVD link : CVE-2021-29579

Mitre link : CVE-2021-29579

CVE.ORG link : CVE-2021-29579


JSON object : View

Products Affected

google

  • tensorflow
CWE
CWE-787

Out-of-bounds Write

CWE-119

Improper Restriction of Operations within the Bounds of a Memory Buffer