CVE-2021-41200 in TensorFlowinfo

Summary

by MITRE • 11/06/2021

TensorFlow is an open source platform for machine learning. In affected versions if `tf.summary.create_file_writer` is called with non-scalar arguments code crashes due to a `CHECK`-fail. The fix will be included in TensorFlow 2.7.0. We will also cherrypick this commit on TensorFlow 2.6.1, TensorFlow 2.5.2, and TensorFlow 2.4.4, as these are also affected and still in supported range.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Analysis

by VulDB Data Team • 11/10/2021

The vulnerability identified as CVE-2021-41200 affects the TensorFlow machine learning platform and represents a critical issue within the tensorboard summary functionality. This flaw manifests when the `tf.summary.create_file_writer` function is invoked with non-scalar arguments, causing the application to crash due to a CHECK-fail mechanism. The vulnerability stems from inadequate input validation within the summary writer component, which fails to properly handle non-scalar tensor inputs that should be rejected rather than causing system instability. The technical implementation of this vulnerability aligns with CWE-248, which describes an unchecked exception condition where a program fails to properly handle exceptional circumstances, leading to unexpected termination. The issue specifically impacts the tensorboard summary writer functionality, which is essential for monitoring and logging machine learning training processes.

The operational impact of this vulnerability extends beyond simple system crashes to potentially disrupt entire machine learning workflows and training operations. When developers or automated systems attempt to log non-scalar tensor data through the summary writer, the application terminates abruptly without proper error handling, resulting in loss of monitoring data and potential interruption of long-running training processes. This behavior creates a denial-of-service scenario for machine learning environments that rely on tensorboard for real-time monitoring and debugging. The vulnerability affects multiple TensorFlow versions including 2.4.4, 2.5.2, 2.6.1, and the affected versions prior to 2.7.0, indicating a widespread issue across the supported release cycle. The crash occurs during the summary writing process rather than during training execution, which means that even successful training runs can be compromised if summary logging is enabled.

Security implications of this vulnerability extend to potential exploitation scenarios where attackers might attempt to trigger crashes through malformed tensor inputs, particularly in environments where TensorFlow is exposed to untrusted input data. The vulnerability also impacts the reliability of machine learning infrastructure, as the failure to properly handle edge cases in summary logging can lead to cascading failures in automated monitoring systems. The fix implemented in TensorFlow 2.7.0 addresses this by introducing proper input validation and error handling for the summary writer function, ensuring that non-scalar arguments are appropriately rejected rather than causing system crashes. This remediation follows ATT&CK technique T1499.004, which involves the exploitation of system instability to achieve denial-of-service conditions, by providing robust input validation that prevents the system from entering an unstable state. Organizations using affected TensorFlow versions should prioritize upgrading to patched releases or implementing the cherry-picked fixes for their supported version branches to maintain system stability and prevent potential service disruption in production machine learning environments.

Responsible

GitHub, Inc.

Reservation

09/15/2021

Disclosure

11/06/2021

Moderation

accepted

CPE

ready

EPSS

0.00230

KEV

no

Activities

very low

Sources

Want to know what is going to be exploited?

We predict KEV entries!