CVE-2021-29617 in TensorFlowinfo

Summary

by MITRE • 05/15/2021

TensorFlow is an end-to-end open source platform for machine learning. An attacker can cause a denial of service via `CHECK`-fail in `tf.strings.substr` with invalid arguments. 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.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Analysis

by VulDB Data Team • 05/19/2021

The vulnerability identified as CVE-2021-29617 affects the TensorFlow machine learning platform, specifically targeting the tf.strings.substr function implementation. This issue represents a denial of service condition that occurs when the function encounters invalid input arguments, triggering a CHECK failure mechanism within the software's runtime environment. The problem manifests as a critical operational disruption that can halt processing workflows and impact system availability for machine learning applications relying on TensorFlow's string manipulation capabilities.

The technical flaw resides in the validation logic of the tf.strings.substr function where insufficient argument checking leads to a CHECK macro failure when processing malformed inputs. This type of vulnerability falls under CWE-617, which addresses reachable assertions, and represents a classic example of improper input validation that can be exploited to cause system instability. The CHECK mechanism in TensorFlow is designed to catch programming errors during development, but when triggered by malicious or malformed inputs in production environments, it results in abrupt termination of the application process rather than graceful error handling.

From an operational impact perspective, this vulnerability poses significant risks to machine learning platforms that depend on string processing operations within their data pipelines. Attackers can exploit this weakness by crafting specific invalid arguments to the substr function, causing the TensorFlow runtime to crash and terminate unexpectedly. This denial of service condition can be particularly damaging in production environments where continuous processing is required, as it can disrupt training workflows, inference operations, and real-time processing tasks. The vulnerability affects multiple TensorFlow versions including 2.1.4, 2.2.3, 2.3.3, 2.4.2, and the upcoming 2.5.0 release, indicating a widespread impact across the supported version lifecycle.

The mitigation strategy involves applying the patched versions of TensorFlow as specified in the advisory, with cherry-picked fixes for the affected supported versions. Organizations should prioritize upgrading to TensorFlow 2.5.0 or the corresponding patched versions for older releases to prevent exploitation. Security practitioners should also implement monitoring for异常 behavior in string processing operations and consider input sanitization measures as additional defensive layers. This vulnerability aligns with ATT&CK technique T1499.004, which covers network denial of service attacks, and represents a critical concern for organizations maintaining machine learning infrastructure that must ensure system availability and reliability. The fix addresses the root cause by implementing proper argument validation and error handling within the tf.strings.substr function to prevent CHECK failures from occurring during legitimate but malformed input processing.

Responsible

GitHub, Inc.

Reservation

03/30/2021

Disclosure

05/15/2021

Moderation

accepted

CPE

ready

EPSS

0.00230

KEV

no

Activities

very low

Sources

Want to stay up to date on a daily basis?

Enable the mail alert feature now!