CVE-2021-37650: TensorFlow - Heap Buffer Overflow and Segmentation Fault
Summary
CVE-2021-37650: Segfault and heap buffer overflow in {Experimental,}DatasetToTFRecord 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-37650 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 for building and deploying machine learning models. TensorFlow is widely used in various domains, including research, industry, and academia. It offers a range of APIs and tools for data preprocessing, model training, and inference. However, certain versions of TensorFlow are vulnerable to a heap buffer overflow and segmentation fault.
Vulnerability Detail
The vulnerability exists in the implementation of tf.raw_ops.ExperimentalDatasetToTFRecord and tf.raw_ops.DatasetToTFRecord in TensorFlow. These operations assume that all records in the dataset are of string type, but there is no check for this assumption. As a result, if numeric types are used, it can trigger a heap buffer overflow and lead to a segmentation fault. An attacker could potentially exploit this vulnerability to execute arbitrary code or cause a denial-of-service condition.
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 mentioned for this vulnerability.
Conclusion
The vulnerability in TensorFlow can lead to a heap buffer overflow and segmentation fault. It is important for users to update their TensorFlow installations to the patched versions to mitigate the risk. For further support on vulnerability remediation, you can contact DevNack.com.
See every vulnerability recorded for tensorflow →
FAQ
TensorFlow is an open source platform for machine learning that provides a comprehensive ecosystem for building and deploying machine learning models.
The vulnerability can lead to a heap buffer overflow and segmentation fault, which could potentially allow an attacker to execute arbitrary code or cause a denial-of-service condition.
The vulnerability affects TensorFlow versions 2.3.0 to 2.3.4, 2.4.0 to 2.4.3, 2.5.0, 2.6.0-rc0, 2.6.0-rc1, and 2.6.0-rc2.
To fix the vulnerability, users should update their TensorFlow installations to the patched versions. The fix will be included in TensorFlow 2.6.0, and cherrypicked for TensorFlow 2.5.1, TensorFlow 2.4.3, and TensorFlow 2.3.4.
For more information about this vulnerability, you can refer to the GitHub commit e0b6e58c328059829c3eb968136f17aa72b6c876 and the official TensorFlow documentation.
References
Related vulnerabilities
Recent vulnerabilities recorded for tensorflow.