CVE-2021-37649: TensorFlow - Null Pointer Dereference in tf.raw_ops.UncompressElement
Summary
CVE-2021-37649: Null pointer dereference in UncompressElement in TensorFlow. Affects tensorflow across 3 version ranges.
>= 2.3.0, < 2.3.4
>= 2.4.0, < 2.4.3
>= 2.5.0, < 2.5.1
Fixed in 2.3.4, 2.4.3 or 2.5.1, depending on the release line you run. How to fix ↓
Also tracked for
- tensorflow · PyPI
- tensorflow · PyPI
- tensorflow-cpu · PyPI
- tensorflow-gpu · PyPI
The same CVE-2021-37649 is tracked separately for each ecosystem and vendor. Its fix information is the same; the package and affected versions differ.
Check if this vulnerability affects your application
Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.
No signup required · Results in about 60 seconds
Background
TensorFlow is an end-to-end open source platform for machine learning. It provides a comprehensive set of tools, libraries, and resources for building and deploying machine learning models. TensorFlow is widely used in various industries and research domains for tasks such as image recognition, natural language processing, and recommendation systems. However, a vulnerability has been discovered in TensorFlow that can lead to a null pointer dereference in the tf.raw_ops.UncompressElement function.
Vulnerability Detail
The vulnerability originates from the implementation of the tf.raw_ops.UncompressElement function in TensorFlow. This function is responsible for decompressing a CompressedElement obtained from a Variant tensor. However, the implementation does not perform a check to ensure that the Variant tensor actually contains a CompressedElement. As a result, when the function attempts to dereference a null pointer, a null pointer dereference occurs. This vulnerability can be exploited by an attacker to cause a denial of service (DoS) condition or potentially execute arbitrary code.
How To Fix
Fixed versions by release line
The minimum fixed version depends on the release line you run.
-
>= 2.3.0, < 2.3.42.3.4 -
>= 2.4.0, < 2.4.32.4.3 -
>= 2.5.0, < 2.5.12.5.1
Tip — Not sure which release line you're on? Vulert can find the fix for the version you are using. Scan free →
Workaround
There is no specific workaround available for this vulnerability. However, users can mitigate the risk by ensuring that untrusted data is not passed to the tf.raw_ops.UncompressElement function. Additionally, implementing proper input validation and sanitization practices can help prevent potential exploitation of this vulnerability.
Conclusion
The vulnerability in TensorFlow's tf.raw_ops.UncompressElement function can lead to a null pointer dereference, potentially resulting in a denial of service (DoS) condition or arbitrary code execution. Users of affected versions should upgrade to the respective fixed versions or the latest stable release. Regularly updating TensorFlow is crucial to ensure the presence of all security patches. For further support on vulnerability remediation, please contact DevNack.com.
See every vulnerability recorded for tensorflow →
FAQ
TensorFlow is an open source platform for machine learning that provides a comprehensive set of tools and resources for building and deploying machine learning models.
This vulnerability can lead to a null pointer dereference in TensorFlow, potentially causing a denial of service (DoS) condition or enabling arbitrary code execution.
The vulnerability affects TensorFlow versions 2.3.0 to 2.3.4, 2.4.0 to 2.4.3, 2.5.0, 2.6.0-rc0, 2.6.0-rc1, and 2.6.0-rc2.
Yes, the vulnerability has been patched in TensorFlow commit 7bdf50bb4f5c54a4997c379092888546c97c3ebd. The fix is included in TensorFlow 2.6.0 and has also been backported to versions 2.5.1, 2.4.3, and 2.3.4.
To protect your TensorFlow installation, it is recommended to upgrade to the latest stable release (2.6.0) or the respective fixed versions (2.5.1, 2.4.3, 2.3.4). Regularly updating TensorFlow ensures the presence of all security patches.
References
Related vulnerabilities
Recent vulnerabilities recorded for tensorflow.