CVE-2021-29564: TensorFlow EditDistance Null Pointer Dereference
Summary
CVE-2021-29564: TensorFlow is an end-to-end open source platform for machine learning. Affects tensorflow-cpu across 5 version ranges.
< 2.1.4
>= 2.2.0, < 2.2.3
>= 2.3.0, < 2.3.3
>= 2.4.0, < 2.4.2
< f4c364a5d6880557f6f5b6eb5cee2c407f0186b3
Fixed in 4 releases; the minimum fixed version depends on the release line you run. How to fix ↓
Also tracked for
- tensorflow · Bitnami
- tensorflow · PyPI
- tensorflow · PyPI
- tensorflow-gpu · PyPI
The same CVE-2021-29564 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 is widely used in various domains, including research, industry, and academia. The vulnerability described here affects the TensorFlow package, specifically the implementation of tf.raw_ops.EditDistance.
Vulnerability Detail
The vulnerability in TensorFlow arises from incomplete validation of input parameters in the implementation of tf.raw_ops.EditDistance. An attacker can exploit this flaw to trigger a null pointer dereference, leading to a crash or potentially allowing the execution of arbitrary code. The vulnerability has been assigned the CVE identifier CVE-2021-29564 and is also tracked as GHSA-75f6-78jr-4656. It was discovered by the PySEC team and reported on May 14, 2021. The issue has been addressed in TensorFlow 2.5.0, and patches have been backported to versions 2.4.2, 2.3.3, 2.2.3, and 2.1.4.
How To Fix
Latest published version: 2.21.0 as of 22 Oct 2026
pip install --upgrade "tensorflow-cpu==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-cpu==2.1.4" -
>= 2.2.0, < 2.2.32.2.3pip install --upgrade "tensorflow-cpu==2.2.3" -
>= 2.3.0, < 2.3.32.3.3pip install --upgrade "tensorflow-cpu==2.3.3" -
>= 2.4.0, < 2.4.22.4.2pip install --upgrade "tensorflow-cpu==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
As a workaround, users can avoid using the vulnerable functionality (tf.raw_ops.EditDistance) until the package is updated or patched. If the functionality is critical and cannot be avoided, it is recommended to implement additional input validation and sanitization measures to mitigate the risk of exploitation. Here is an example of how to perform input validation for the tf.raw_ops.EditDistance function:
import tensorflow as tf
def validate_edit_distance(inputs):
if inputs is None:
raise ValueError('Invalid input: inputs cannot be None.')
# Perform additional validation checks
...
# Call the vulnerable function
tf.raw_ops.EditDistance(inputs=inputs)
Conclusion
In conclusion, the vulnerability in TensorFlow's tf.raw_ops.EditDistance function can be exploited to trigger a null pointer dereference, potentially leading to a crash or arbitrary code execution. Users are advised to update to TensorFlow 2.5.0 or apply the appropriate patches for the affected versions. Workarounds include avoiding the use of the vulnerable functionality and implementing additional input validation measures. For further support and assistance in vulnerability remediation, please contact DevNack.com.
See every vulnerability recorded for tensorflow-cpu →
FAQ
TensorFlow is an open source platform for machine learning that provides a comprehensive set of tools and resources for developing and deploying machine learning models.
The vulnerability allows an attacker to trigger a null pointer dereference in the tf.raw_ops.EditDistance implementation, potentially leading to a crash or arbitrary code execution.
To fix the vulnerability, update TensorFlow to version 2.5.0 or apply the appropriate patch for the affected versions (2.4.2, 2.3.3, 2.2.3, or 2.1.4).
As a workaround, users can avoid using the vulnerable functionality (tf.raw_ops.EditDistance) until the package is updated or patched. Additional input validation and sanitization measures can also be implemented.
For more information about this vulnerability, refer to the official TensorFlow documentation, security advisories, and the PySEC team's report.
References
Related vulnerabilities
Recent vulnerabilities recorded for tensorflow-cpu.