First published: Fri Feb 04 2022(Updated: )
### Impact The [implementation of `OpLevelCostEstimator::CalculateTensorSize`](https://github.com/tensorflow/tensorflow/blob/a1320ec1eac186da1d03f033109191f715b2b130/tensorflow/core/grappler/costs/op_level_cost_estimator.cc#L1552-L1558) is vulnerable to an integer overflow if an attacker can create an operation which would involve a tensor with large enough number of elements: ```cc int64_t OpLevelCostEstimator::CalculateTensorSize( const OpInfo::TensorProperties& tensor, bool* found_unknown_shapes) { int64_t count = CalculateTensorElementCount(tensor, found_unknown_shapes); int size = DataTypeSize(BaseType(tensor.dtype())); VLOG(2) << "Count: " << count << " DataTypeSize: " << size; return count * size; } ``` Here, `count` and `size` can be large enough to cause `count * size` to overflow. ### Patches We have patched the issue in GitHub commit [fcd18ce3101f245b083b30655c27b239dc72221e](https://github.com/tensorflow/tensorflow/commit/fcd18ce3101f245b083b30655c27b239dc72221e). 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](https://github.com/tensorflow/tensorflow/blob/master/SECURITY.md) for more information regarding the security model and how to contact us with issues and questions.
Credit: security-advisories@github.com security-advisories@github.com
Affected Software | Affected Version | How to fix |
---|---|---|
pip/tensorflow-gpu | =2.7.0 | 2.7.1 |
pip/tensorflow-gpu | >=2.6.0<2.6.3 | 2.6.3 |
pip/tensorflow-gpu | <2.5.3 | 2.5.3 |
pip/tensorflow-cpu | =2.7.0 | 2.7.1 |
pip/tensorflow-cpu | >=2.6.0<2.6.3 | 2.6.3 |
pip/tensorflow-cpu | <2.5.3 | 2.5.3 |
pip/tensorflow | =2.7.0 | 2.7.1 |
pip/tensorflow | >=2.6.0<2.6.3 | 2.6.3 |
pip/tensorflow | <2.5.3 | 2.5.3 |
TensorFlow Keras | <=2.5.2 | |
TensorFlow Keras | >=2.6.0<=2.6.2 | |
TensorFlow Keras | =2.7.0 |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
CVE-2022-23575 is classified as a high severity vulnerability due to its potential impact on applications using TensorFlow.
To fix CVE-2022-23575, update TensorFlow to version 2.5.3, 2.6.3, or 2.7.1 or later, depending on your current version.
CVE-2022-23575 affects TensorFlow versions up to 2.5.2 and versions between 2.6.0 and 2.6.2, as well as version 2.7.0.
CVE-2022-23575 is an integer overflow vulnerability found in the CalculateTensorSize function of TensorFlow.
Yes, CVE-2022-23575 can potentially be exploited remotely if an attacker can send specially crafted inputs to the affected TensorFlow applications.