CVE-2021-37652: TensorFlow - Use After Free Error in BoostedTreesCreateEnsemble
Summary
CVE-2021-37652: Use after free in boosted trees creation 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-37652 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 domains, including research, industry, and academia. It offers support for both deep learning and traditional machine learning algorithms, making it a versatile framework for developing and training models. However, certain versions of TensorFlow are vulnerable to a use after free error in the implementation of tf.raw_ops.BoostedTreesCreateEnsemble.
Vulnerability Detail
The vulnerability in TensorFlow arises from a use after free error in the implementation of tf.raw_ops.BoostedTreesCreateEnsemble. This error can be exploited by an attacker who supplies specially crafted arguments to the function. The vulnerability occurs due to a mismatch in the handling of a reference counted resource. The code initially uses a reference counted resource represented as a naked pointer, but later refactoring changes it to a smart pointer. As a result, when the pointer leaves the scope, a double-free process occurs, leading to the access of invalid members of the resource object. This can potentially result in a crash or allow an attacker to execute arbitrary code with the privileges of the TensorFlow process. The vulnerability has been patched in the latest versions of TensorFlow.
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. It is recommended to update to the latest patched version of TensorFlow.
Conclusion
The use after free error in the BoostedTreesCreateEnsemble implementation of TensorFlow can lead to serious security risks. It is crucial to update to the latest patched version of TensorFlow or apply the provided fix to mitigate the vulnerability. Following secure coding practices and input validation can help prevent similar vulnerabilities in the future. 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 tools and libraries for building and deploying machine learning models.
The vulnerability can potentially lead to a crash or allow an attacker to execute arbitrary code with the privileges of the TensorFlow process.
The vulnerability affects TensorFlow versions 2.3.0 to 2.3.4, 2.4.0 to 2.4.3, 2.5.0, and 2.6.0-rc0 to 2.6.0-rc2.
Yes, the vulnerability has been patched in TensorFlow 2.6.0. The fix is also available for TensorFlow 2.5.1, 2.4.3, and 2.3.4.
No, there are no specific workarounds available for this vulnerability. It is recommended to update to the latest patched version of TensorFlow.
References
Related vulnerabilities
Recent vulnerabilities recorded for tensorflow.