CVE-2022-29197: TensorFlow - UnsortedSegmentJoin Denial of Service
Summary
CVE-2022-29197: Missing validation causes denial of service in TensorFlow via UnsortedSegmentJoin. Affects tensorflow across 2 version ranges.
< 2.6.4
>= 2.7.0, < 2.7.2
Fixed in 2.6.4 or 2.7.2, depending on the release line you run. How to fix ↓
Also tracked for
- tensorflow · PyPI
- tensorflow-cpu · PyPI
- tensorflow-gpu · PyPI
- tensorflow · PyPI
The same CVE-2022-29197 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 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. It offers support for both deep learning and traditional machine learning algorithms, making it a popular choice among developers and data scientists.
Vulnerability Detail
The vulnerability identified as CVE-2022-29197 affects TensorFlow versions prior to 2.9.0, 2.8.1, 2.7.2, and 2.6.4. The vulnerability lies in the implementation of tf.raw_ops.UnsortedSegmentJoin, which fails to fully validate the input arguments. This flaw can be exploited to trigger a denial of service attack. The code assumes that num_segments is a scalar, but there is no validation for this before accessing its value. As a result, an attacker can provide malicious input that leads to a CHECK-failure, causing the application to crash or become unresponsive. TensorFlow versions 2.9.0, 2.8.1, 2.7.2, and 2.6.4 have been patched to address this issue.
How To Fix
Fixed versions by release line
The minimum fixed version depends on the release line you run.
-
< 2.6.42.6.4 -
>= 2.7.0, < 2.7.22.7.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 known workaround for this vulnerability. It is essential to apply the patch by upgrading to the fixed versions of TensorFlow.
Conclusion
The vulnerability in TensorFlow's tf.raw_ops.UnsortedSegmentJoin function can lead to a denial of service attack. It is crucial to upgrade to the patched versions of TensorFlow (2.9.0, 2.8.1, 2.7.2, or 2.6.4) to mitigate this vulnerability. For further support and assistance in vulnerability remediation, please contact DevNack.com.
See every vulnerability recorded for tensorflow →
FAQ
TensorFlow is an open source platform for machine learning, widely used for developing and deploying machine learning models.
This vulnerability can be exploited to trigger a denial of service attack, potentially causing the application to crash or become unresponsive.
Versions prior to 2.9.0, 2.8.1, 2.7.2, and 2.6.4 are affected by this vulnerability.
Yes, TensorFlow versions 2.9.0, 2.8.1, 2.7.2, and 2.6.4 contain a patch for this vulnerability.
To fix this vulnerability, upgrade TensorFlow to version 2.9.0, 2.8.1, 2.7.2, or 2.6.4.
References
Related vulnerabilities
Recent vulnerabilities recorded for tensorflow.