Reachable Assertion in Tensorflow
Description
Tensorflow is an Open Source Machine Learning Framework. When decoding a tensor from protobuf, a TensorFlow process can encounter cases where a CHECK assertion is invalidated based on user controlled arguments, if the tensors have an invalid dtype and 0 elements or an invalid shape. This allows attackers to cause denial of services in TensorFlow processes. 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 packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
tensorflowPyPI | < 2.5.3 | 2.5.3 |
tensorflowPyPI | >= 2.6.0, < 2.6.3 | 2.6.3 |
tensorflowPyPI | >= 2.7.0, < 2.7.1 | 2.7.1 |
tensorflow-cpuPyPI | < 2.5.3 | 2.5.3 |
tensorflow-cpuPyPI | >= 2.6.0, < 2.6.3 | 2.6.3 |
tensorflow-cpuPyPI | >= 2.7.0, < 2.7.1 | 2.7.1 |
tensorflow-gpuPyPI | < 2.5.3 | 2.5.3 |
tensorflow-gpuPyPI | >= 2.6.0, < 2.6.3 | 2.6.3 |
tensorflow-gpuPyPI | >= 2.7.0, < 2.7.1 | 2.7.1 |
Affected products
1- Range: >= 2.7.0, < 2.7.1
Patches
15b491cd5e41aValidate `proto.dtype()` before calling `set_dtype()`.
1 file changed · +9 −0
tensorflow/core/framework/tensor.cc+9 −0 modified@@ -983,6 +983,15 @@ bool Tensor::FromProto(Allocator* a, const TensorProto& proto) { dtype_error = true, dtype_error = true); } if (dtype_error || p == nullptr) return false; + } else { + // Handle the case of empty tensors (N = 0) or tensors with incomplete shape + // (N = -1). All other values of `shape.num_elements()` should be invalid by + // construction. + // Here, we just need to validate that the `proto.dtype()` value is valid. + bool dtype_error = false; + CASES_WITH_DEFAULT(proto.dtype(), break, dtype_error = true, + dtype_error = true); + if (dtype_error) return false; } shape_ = shape; set_dtype(proto.dtype());
Vulnerability mechanics
Generated by null/stub on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
6- github.com/advisories/GHSA-j3mj-fhpq-qqjjghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2022-23571ghsaADVISORY
- github.com/pypa/advisory-database/tree/main/vulns/tensorflow-cpu/PYSEC-2022-80.yamlghsaWEB
- github.com/pypa/advisory-database/tree/main/vulns/tensorflow-gpu/PYSEC-2022-135.yamlghsaWEB
- github.com/tensorflow/tensorflow/commit/5b491cd5e41ad63735161cec9c2a568172c8b6a3ghsax_refsource_MISCWEB
- github.com/tensorflow/tensorflow/security/advisories/GHSA-j3mj-fhpq-qqjjghsax_refsource_CONFIRMWEB
News mentions
0No linked articles in our index yet.