CVE-2021-29614: TensorFlow CPU - Incorrect Results and Python Interpreter Crash in tf.io.decode_raw
Summary
CVE-2021-29614: 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
< 698e01511f62a3c185754db78ebce0eee1f0184d
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-29614 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 includes a function called tf.io.decode_raw which is used to decode raw binary data. This function is vulnerable to a bug that produces incorrect results and crashes the Python interpreter when combining fixed_length and wider datatypes.
Vulnerability Detail
The vulnerability in TensorFlow's tf.io.decode_raw function arises from a confusion about pointer arithmetic rules in the implementation of the padded version. The code incorrectly computes the width of each output element by dividing the fixed_length value by the size of the type argument. This leads to incorrect decoding of the input data and an out-of-bounds write, which can result in a crash of the Python interpreter. While the provided reproducer causes a crash, more severe attacks can be mounted using this vulnerability to write to periodically placed locations in memory.
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
There is currently no known workaround for this vulnerability. Users are recommended to apply the official fix provided by the TensorFlow project.
Conclusion
The vulnerability in TensorFlow's tf.io.decode_raw function can lead to incorrect decoding of data and a crash of the Python interpreter. It is important for users to update their TensorFlow installations to the patched versions to mitigate the risk. For further support on 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 tools and resources for developing and deploying machine learning models.
tf.io.decode_raw is a function in TensorFlow that is used to decode raw binary data.
This vulnerability can lead to incorrect decoding of data and a crash of the Python interpreter. It can also be exploited to write to periodically placed locations in memory, potentially enabling more severe attacks.
The vulnerability affects TensorFlow versions 2.1.4 and above, including TensorFlow 2.2.3, TensorFlow 2.3.3, and TensorFlow 2.4.2.
To protect your system, it is recommended to update your TensorFlow installation to the patched versions (2.5.0, 2.4.2, 2.3.3, 2.2.3, or 2.1.4) as soon as they are available.
References
Related vulnerabilities
Recent vulnerabilities recorded for tensorflow-cpu.