GitHub Advisoryadvisory · PyPI
GHSA-c94w-c95p-phf8 Integer overflow in Tensorflow
HIGH
Official page ↗
- Aliases
- CVE-2022-23575
- Ecosystem
- PyPI
- Packages
- tensorflow, tensorflow-cpu, tensorflow-gpu
- Severity
- High
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
- Weaknesses
- CWE-190
- Reviewed
- 2022-02-04
Affected packages
• PyPI tensorflow: < 2.5.3 → fixed in 2.5.3
• PyPI tensorflow: >= 2.6.0, < 2.6.3 → fixed in 2.6.3
• PyPI tensorflow: >= 2.7.0, < 2.7.1 → fixed in 2.7.1
• PyPI tensorflow-cpu: < 2.5.3 → fixed in 2.5.3
• PyPI tensorflow-cpu: >= 2.6.0, < 2.6.3 → fixed in 2.6.3
• PyPI tensorflow-cpu: >= 2.7.0, < 2.7.1 → fixed in 2.7.1
• PyPI tensorflow-gpu: < 2.5.3 → fixed in 2.5.3
• PyPI tensorflow-gpu: >= 2.6.0, < 2.6.3 → fixed in 2.6.3
• PyPI tensorflow-gpu: >= 2.7.0, < 2.7.1 → fixed in 2.7.1
Description
Impact
The implementation of `OpLevelCostEstimator::CalculateTensorSize` 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.
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.
Related
Alias · CVE (1)
- CVE-2022-23575 Tensorflow is an Open Source Machine Learning Framework. vulnerability
Weakness · CWE (1)
- CWE-190 Integer Overflow or Wraparound weakness
References
- https://github.com/tensorflow/tensorflow/security/advisories/GHSA-c94w-c95p-phf8 web
- https://nvd.nist.gov/vuln/detail/CVE-2022-23575 advisory
- https://github.com/tensorflow/tensorflow/commit/fcd18ce3101f245b083b30655c27b239dc72221e web
- https://github.com/pypa/advisory-database/tree/main/vulns/tensorflow-cpu/PYSEC-2022-84.yaml web
- https://github.com/pypa/advisory-database/tree/main/vulns/tensorflow-gpu/PYSEC-2022-139.yaml web
- https://github.com/tensorflow/tensorflow web
- https://github.com/tensorflow/tensorflow/blob/a1320ec1eac186da1d03f033109191f715b2b130/tensorflow/core/grappler/costs/op_level_cost_estimator.cc#L1552-L1558 web