CVE-2022-23588: `CHECK`-fails due to attempting to build a reference tensor in Tensorflow
Impact A malicious user can cause a denial of service by altering a SavedModel such that Grappler optimizer would attempt to build a tensor using a reference dtype. This would result in a crash due to a CHECK-fail in the Tensor constructor as reference types are not allowed. Patches We have patched the issue in GitHub commit 6b5adc0877de832b2a7c189532dbbbc64622eeb6. The fix will be included in TensorFlow 2.8.0. We will also cherrypick this commit on TensorFlow 2.7.1, TensorFlow 2.6.3, and TensorFlow 2.5.3, as these are also affected and still in supported range.
For more information Please consult our security guide for more information regarding the security model and how to contact us with issues and questions.
Other sources
Tensorflow is an Open Source Machine Learning Framework. A malicious user can cause a denial of service by altering a SavedModel such that Grappler optimizer would attempt to build a tensor using a reference dtype. This would result in a crash due to a CHECK-fail in the Tensor constructor as reference types are not allowed. The fix will be included in TensorFlow 2.8.0. We will also cherrypick this commit on TensorFlow 2.7.1, TensorFlow 2.6.3, and TensorFlow 2.5.3, as these are also affected and still in supported range.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
pip/tensorflow-gputo a version that resolves this vulnerability.Fixed in 2.7.1 - Upgrade
Upgrade
pip/tensorflow-gputo a version that resolves this vulnerability.Fixed in 2.6.3 - Upgrade
Upgrade
pip/tensorflow-gputo a version that resolves this vulnerability.Fixed in 2.5.3 - Upgrade
Upgrade
pip/tensorflow-cputo a version that resolves this vulnerability.Fixed in 2.7.1 - Upgrade
Upgrade
pip/tensorflow-cputo a version that resolves this vulnerability.Fixed in 2.6.3 - Upgrade
Upgrade
pip/tensorflow-cputo a version that resolves this vulnerability.Fixed in 2.5.3 - Upgrade
Upgrade
pip/tensorflowto a version that resolves this vulnerability.Fixed in 2.7.1 - Upgrade
Upgrade
pip/tensorflowto a version that resolves this vulnerability.Fixed in 2.6.3 - Upgrade
Upgrade
pip/tensorflowto a version that resolves this vulnerability.Fixed in 2.5.3 - Upgrade
Upgrade
TensorFlowto a version that resolves this vulnerability.Fixed in 2.8.0 - Upgrade
Upgrade
TensorFlowto a version that resolves this vulnerability.Fixed in 2.7.1Patch 6b5adc0877de832b2a7c189532dbbbc64622eeb6 - Upgrade
Upgrade
TensorFlowto a version that resolves this vulnerability.Fixed in 2.6.3Patch 6b5adc0877de832b2a7c189532dbbbc64622eeb6 - Upgrade
Upgrade
TensorFlowto a version that resolves this vulnerability.Fixed in 2.5.3Patch 6b5adc0877de832b2a7c189532dbbbc64622eeb6
Event History
Frequently Asked Questions
What is the severity of CVE-2022-23588?
CVE-2022-23588 has been classified as a denial of service vulnerability with high severity.
How do I fix CVE-2022-23588?
To fix CVE-2022-23588, upgrade TensorFlow to version 2.7.1 or later.
What software is affected by CVE-2022-23588?
CVE-2022-23588 affects TensorFlow versions up to 2.5.2, between 2.6.0 and 2.6.2, and exactly 2.7.0.
Can CVE-2022-23588 be exploited remotely?
Yes, CVE-2022-23588 can be exploited by a malicious user causing a denial of service.
What type of vulnerability is CVE-2022-23588 related to?
CVE-2022-23588 is related to the Grappler optimizer in TensorFlow that can be forced to build a tensor with improper reference types.