Vulnerability · Published May 14, 2021 · Assigned by GitHub_M

CVE-2021-29608Heap OOB and null pointer dereference in `RaggedTensorToTensor`

Medium 5.3

In plain English

A medium-severity security flaw in tensorflow from tensorflow. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 14% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)5.3Medium
Exploit odds (30 days)0.2%top 85.7% of all CVEs
Exploited in the wildNo reportsnot in CISA KEV
Attack toolingNoneno public tooling known

Official description

TensorFlow is an end-to-end open source platform for machine learning. Due to lack of validation in `tf.raw_ops.RaggedTensorToTensor`, an attacker can exploit an undefined behavior if input arguments are empty. The implementation(https://github.com/tensorflow/tensorflow/blob/656e7673b14acd7835dc778867f84916c6d1cac2/tensorflow/core/kernels/ragged_tensor_to_tensor_op.cc#L356-L360) only checks that one of the tensors is not empty, but does not check for the other ones. There are multiple `DCHECK` validations to prevent heap OOB, but these are no-op in release builds, hence they don't prevent anything. The fix will be included in TensorFlow 2.5.0. We will also cherrypick these commits 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.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
PyPItensorflow2.3.3GHSA-rgvq-pcvf-hx75
PyPItensorflow2.4.2GHSA-rgvq-pcvf-hx75
PyPItensorflow2.1.4GHSA-rgvq-pcvf-hx75
PyPItensorflow2.2.0rc0, 2.3.0rc0, 2.3.4, 2.4.3PYSEC-2021-245
PyPItensorflow2.2.3GHSA-rgvq-pcvf-hx75
PyPItensorflow-cpu2.4.2GHSA-rgvq-pcvf-hx75
PyPItensorflow-cpu2.1.4GHSA-rgvq-pcvf-hx75
PyPItensorflow-cpu2.2.3GHSA-rgvq-pcvf-hx75
PyPItensorflow-cpu2.3.3GHSA-rgvq-pcvf-hx75
PyPItensorflow-cpu2.2.0rc0, 2.3.0rc0, 2.3.4, 2.4.3PYSEC-2021-536
PyPItensorflow-gpu2.3.3GHSA-rgvq-pcvf-hx75
PyPItensorflow-gpu2.4.2GHSA-rgvq-pcvf-hx75
PyPItensorflow-gpu2.1.4GHSA-rgvq-pcvf-hx75
PyPItensorflow-gpu2.2.0rc0, 2.3.0rc0, 2.3.4, 2.4.3PYSEC-2021-734
PyPItensorflow-gpu2.2.3GHSA-rgvq-pcvf-hx75

Affected products (as reported)

VendorProductVersions
tensorflow tensorflow < 2.1.4>= 2.2.0, < 2.2.3>= 2.3.0, < 2.3.3>= 2.4.0, < 2.4.2

Weakness: CWE-131 · Vector: CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:H

References