CVE-2022-23566: Out of bounds write in Tensorflow
Impact TensorFlow is vulnerable to a heap OOB write in Grappler:
cc Status SetUnknownShape(const NodeDef node, int outputport) { shapeinference::ShapeHandle shape = GetUnknownOutputShape(node, outputport); InferenceContext ctx = GetContext(node); if (ctx == nullptr) { return errors::InvalidArgument("Missing context"); } ctx->setoutput(outputport, shape); return Status::OK(); }
The setoutput function writes to an array at the specified index:
cc void setoutput(int idx, ShapeHandle shape) { outputs.at(idx) = shape; }
Hence, this gives a malicious user a write primitive.
Patches We have patched the issue in GitHub commit 97282c6d0d34476b6ba033f961590b783fa184cd.
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. TensorFlow is vulnerable to a heap OOB write in Grappler. The setoutput function writes to an array at the specified index. Hence, this gives a malicious user a write primitive. 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
Event History
Frequently Asked Questions
What is the severity of CVE-2022-23566?
CVE-2022-23566 has been rated as a high severity vulnerability due to its potential for a heap out-of-bounds write.
What versions of TensorFlow are affected by CVE-2022-23566?
CVE-2022-23566 affects TensorFlow versions up to 2.5.2, and versions from 2.6.0 to 2.6.2, along with the specific version 2.7.0.
How do I fix CVE-2022-23566?
To fix CVE-2022-23566, upgrade to TensorFlow version 2.7.1 or later, or to version 2.6.3 or later.
What type of vulnerability is CVE-2022-23566?
CVE-2022-23566 is a heap out-of-bounds write vulnerability found in the Grappler component of TensorFlow.
What impact does CVE-2022-23566 have on TensorFlow applications?
CVE-2022-23566 can lead to potential application crashes and may allow attackers to execute arbitrary code.