CVE-2021-37678: TensorFlow-GPU Arbitrary Code Execution
Summary
CVE-2021-37678: TensorFlow is an end-to-end open source platform for machine learning. Affects tensorflow-gpu across 3 version ranges.
>= 2.3.0, < 2.3.4
>= 2.4.0, < 2.4.3
< 23d6383eb6c14084a8fc3bdf164043b974818012
Fixed in 2.3.4 or 2.4.3, depending on the release line you run. How to fix ↓
Also tracked for
- tensorflow · Bitnami
- tensorflow · PyPI
- tensorflow · PyPI
- tensorflow-cpu · PyPI
The same CVE-2021-37678 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 ecosystem of tools, libraries, and resources for developing and deploying machine learning models. TensorFlow-GPU is a variant of TensorFlow that leverages GPU acceleration for faster computation. It is widely used in various industries and research domains for training and inference of deep learning models.
Vulnerability Detail
In affected versions of TensorFlow and Keras, there is a vulnerability that allows for arbitrary code execution when deserializing a Keras model from YAML format. The implementation uses yaml.unsafe_load, which can execute arbitrary code provided as input. This can lead to remote code execution and potential compromise of the system. The vulnerability has been assigned CVE-2021-37678 and has been patched in TensorFlow commit 23d6383eb6c14084a8fc3bdf164043b974818012. The fix will be included in TensorFlow 2.6.0, and it has also been backported to TensorFlow 2.5.1, TensorFlow 2.4.3, and TensorFlow 2.3.4.
How To Fix
Latest published version: 2.12.0 as of 22 Oct 2026
pip install --upgrade "tensorflow-gpu==2.12.0"
Upgrading to it may include breaking changes; the versions below are the minimum fixed release for this vulnerability.
If you can't move to the latest
The minimum fixed version depends on the release line you run.
-
>= 2.3.0, < 2.3.42.3.4pip install --upgrade "tensorflow-gpu==2.3.4" -
>= 2.4.0, < 2.4.32.4.3pip install --upgrade "tensorflow-gpu==2.4.3"
Tip — Not sure which release line you're on? Vulert can find the fix for the version you are using. Scan free →
Workaround
As a temporary workaround, it is advised to avoid deserializing Keras models from YAML format. Instead, consider using other supported serialization formats like JSON or HDF5. If YAML deserialization is necessary, ensure that the input is trusted and comes from a trusted source.
Conclusion
The vulnerability in TensorFlow-GPU and Keras allows for arbitrary code execution when deserializing Keras models from YAML format. It is crucial to update to the latest patched version of TensorFlow-GPU or apply the respective patches for the affected versions. Avoiding deserialization from YAML format and ensuring trusted input sources can serve as temporary workarounds. For further assistance and support in vulnerability remediation, please contact DevNack.com.
See every vulnerability recorded for tensorflow-gpu →
FAQ
TensorFlow-GPU is a variant of TensorFlow that utilizes GPU acceleration for faster computation of machine learning models.
Keras is a high-level neural networks API, written in Python and capable of running on top of TensorFlow. It provides an easy-to-use interface for building and training deep learning models.
YAML (YAML Ain't Markup Language) is a human-readable data serialization format. It is commonly used for configuration files and data exchange between languages.
Arbitrary code execution refers to the ability of an attacker to execute any code of their choice on a target system. This can lead to unauthorized access, data breaches, and system compromise.
You can check the version of TensorFlow-GPU installed by running the following command: pip show tensorflow-gpu
References
Related vulnerabilities
Recent vulnerabilities recorded for tensorflow-gpu.