CVE-2021-29518: Session operations in eager mode lead to null pointer dereferences in TensorFlow
Summary
CVE-2021-29518: Session operations in eager mode lead to null pointer dereferences. Affects tensorflow across 4 version ranges.
< 2.1.4
>= 2.2.0, < 2.2.3
>= 2.3.0, < 2.3.3
>= 2.4.0, < 2.4.2
Fixed in 4 releases; the minimum fixed version depends on the release line you run. How to fix ↓
Also tracked for
- tensorflow · Bitnami
- tensorflow-cpu · PyPI
- tensorflow-gpu · PyPI
The same CVE-2021-29518 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 open-source machine learning framework developed by Google. It provides a comprehensive ecosystem of tools, libraries, and resources for building and deploying machine learning models. TensorFlow supports both eager execution and graph execution modes. In eager mode, operations are executed immediately, making it easier to debug and interact with the model. However, this mode can also introduce vulnerabilities, such as null pointer dereferences.
Vulnerability Detail
The vulnerability (CVE-2021-29518) in TensorFlow arises from session operations in eager mode. In eager mode, session operations are invalid, but users can still call the raw ops associated with them. This can trigger a null pointer dereference, leading to undefined behavior. The issue occurs because the implementation of the session operations dereferences the session state pointer without checking if it is valid. As a result, when ctx->session_state() is nullptr, calling the member function becomes a null pointer dereference. This vulnerability can be exploited by an attacker to crash the application or potentially execute arbitrary code.
How To Fix
Latest published version: 2.21.0 as of 22 Oct 2026
pip install --upgrade "tensorflow==2.21.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.1.42.1.4pip install --upgrade "tensorflow==2.1.4" -
>= 2.2.0, < 2.2.32.2.3pip install --upgrade "tensorflow==2.2.3" -
>= 2.3.0, < 2.3.32.3.3pip install --upgrade "tensorflow==2.3.3" -
>= 2.4.0, < 2.4.22.4.2pip install --upgrade "tensorflow==2.4.2"
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 provided for this vulnerability. However, users can mitigate the risk by avoiding the use of session operations in eager mode. It is recommended to use graph execution mode or switch to a patched version of TensorFlow.
Conclusion
The vulnerability (CVE-2021-29518) in TensorFlow's session operations in eager mode can result in null pointer dereferences, leading to crashes or potential code execution. It is crucial to update TensorFlow to one of the patched versions to mitigate this vulnerability. For further support on vulnerability remediation, contact DevNack.com.
See every vulnerability recorded for tensorflow →
FAQ
TensorFlow is an open-source machine learning framework developed by Google. It provides tools and resources for building and deploying machine learning models.
Eager mode in TensorFlow allows operations to be executed immediately, making it easier to debug and interact with the model.
A null pointer dereference occurs when a program tries to access or dereference a null pointer, resulting in undefined behavior.
The vulnerability can lead to application crashes or potentially allow an attacker to execute arbitrary code.
To fix the vulnerability, update your TensorFlow installation to one of the patched versions: TensorFlow 2.5.0, TensorFlow 2.4.2, TensorFlow 2.3.3, TensorFlow 2.2.3, or TensorFlow 2.1.4.
References
Related vulnerabilities
Recent vulnerabilities recorded for tensorflow.