CVE-2022-23592
Out of bounds read in Tensorflow
Tensorflow is an Open Source Machine Learning Framework. TensorFlow's type inference can cause a heap out of bounds read as the bounds checking is done in a DCHECK (which is a no-op during production). An attacker can control the input_idx variable such that ix would be larger than the number of values in node_t.args. The fix will be included in TensorFlow 2.8.0. This is the only affected version.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
8.1
Out of bounds read in Tensorflow
Tensorflow is an Open Source Machine Learning Framework. TensorFlow's type inference can cause a heap out of bounds read as the bounds checking is done in a DCHECK (which is a no-op during production). An attacker can control the input_idx variable such that ix would be larger than the number of values in node_t.args. The fix will be included in TensorFlow 2.8.0. This is the only affected version.
- Record
CVE-2022-23592- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H - Weakness
- CWE-125
- Updated
- 2026-11-02
EUVDEUVD-2022-0285
8.1
Tensorflow is an Open Source Machine Learning Framework. TensorFlow's type inference can cause a heap out of bounds read as the bounds checking is done in a DCHECK (which is a no-op during production). An attacker can control the input_idx variable such that ix would be larger than the number of values in node_t.args. The fix will be included in TensorFlow 2.8.0. This is the only affected version.
- Record
EUVD-2022-0285- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-vq36-27g6-p492
7.2
Out of bounds read in Tensorflow
Impact
TensorFlow's type inference can cause a heap OOB read as the bounds checking is done in a DCHECK (which is a no-op during production):
if (node_t.type_id() != TFT_UNSET) {
int ix = input_idx[i];
DCHECK(ix < node_t.args_size())
<< "input " << i << " should have an output " << ix
<< " but instead only has " << node_t.args_size()
<< " outputs: " << node_t.DebugString();
input_types.emplace_back(node_t.args(ix));
// ...
}
An attacker can control input_idx such that ix would be larger than the number of values in node_t.args.
Patches
We have patched the issue in GitHub commit c99d98cd189839dcf51aee94e7437b54b31f8abd.
The fix will be included in TensorFlow 2.8.0. This is the only affected version.
For more information
Please consult our security guide for more information regarding the security model and how to contact us with issues and questions.
- Record
GHSA-vq36-27g6-p492- CVSS 4.0
- 7.2 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:H/SC:N/SI:N/SA:N - CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H - Weakness
- CWE-125
- Updated
- 2026-11-02
NVD
8.1
Tensorflow is an Open Source Machine Learning Framework. TensorFlow's type inference can cause a heap out of bounds read as the bounds checking is done in a DCHECK (which is a no-op during production). An attacker can control the input_idx variable such that ix would be larger than the number of values in node_t.args. The fix will be included in TensorFlow 2.8.0. This is the only affected version.
- Record
CVE-2022-23592- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H - CVSS 2.0
- 5.5 Medium
AV:N/AC:L/Au:S/C:P/I:N/A:P - Weakness
- CWE-125
- Updated
- 2026-11-02
OSV
8.1
Out of bounds read in Tensorflow
Tensorflow is an Open Source Machine Learning Framework. TensorFlow's type inference can cause a heap out of bounds read as the bounds checking is done in a DCHECK (which is a no-op during production). An attacker can control the input_idx variable such that ix would be larger than the number of values in node_t.args. The fix will be included in TensorFlow 2.8.0. This is the only affected version.
- Record
CVE-2022-23592- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H - Weakness
- CWE-125
- Updated
- 2026-11-02
OSVGHSA-vq36-27g6-p492
7.2
Out of bounds read in Tensorflow
Impact
TensorFlow's type inference can cause a heap OOB read as the bounds checking is done in a DCHECK (which is a no-op during production):
if (node_t.type_id() != TFT_UNSET) {
int ix = input_idx[i];
DCHECK(ix < node_t.args_size())
<< "input " << i << " should have an output " << ix
<< " but instead only has " << node_t.args_size()
<< " outputs: " << node_t.DebugString();
input_types.emplace_back(node_t.args(ix));
// ...
}
An attacker can control input_idx such that ix would be larger than the number of values in node_t.args.
Patches
We have patched the issue in GitHub commit c99d98cd189839dcf51aee94e7437b54b31f8abd.
The fix will be included in TensorFlow 2.8.0. This is the only affected version.
For more information
Please consult our security guide for more information regarding the security model and how to contact us with issues and questions.
- Record
GHSA-vq36-27g6-p492- CVSS 4.0
- 7.2 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:H/SC:N/SI:N/SA:N - CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H - Weakness
- CWE-125
- Updated
- 2026-11-02
Show 4 moreShow less
OSVPYSEC-2026-3249
7.2
Out of bounds read in Tensorflow
Impact
TensorFlow's type inference can cause a heap OOB read as the bounds checking is done in a DCHECK (which is a no-op during production):
if (node_t.type_id() != TFT_UNSET) {
int ix = input_idx[i];
DCHECK(ix < node_t.args_size())
<< "input " << i << " should have an output " << ix
<< " but instead only has " << node_t.args_size()
<< " outputs: " << node_t.DebugString();
input_types.emplace_back(node_t.args(ix));
// ...
}
An attacker can control input_idx such that ix would be larger than the number of values in node_t.args.
Patches
We have patched the issue in GitHub commit c99d98cd189839dcf51aee94e7437b54b31f8abd.
The fix will be included in TensorFlow 2.8.0. This is the only affected version.
For more information
Please consult our security guide for more information regarding the security model and how to contact us with issues and questions.
- Record
PYSEC-2026-3249- CVSS 4.0
- 7.2 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:H/SC:N/SI:N/SA:N - CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H - Updated
- 2026-11-02
OSVBIT-tensorflow-2022-23592 No score
Out of bounds read in Tensorflow
Tensorflow is an Open Source Machine Learning Framework. TensorFlow's type inference can cause a heap out of bounds read as the bounds checking is done in a DCHECK (which is a no-op during production). An attacker can control the input_idx variable such that ix would be larger than the number of values in node_t.args. The fix will be included in TensorFlow 2.8.0. This is the only affected version.
- Record
BIT-tensorflow-2022-23592- Updated
- 2026-11-02
OSVPYSEC-2022-101 No score
Tensorflow is an Open Source Machine Learning Framework. TensorFlow's type inference can cause a heap out of bounds read as the bounds checking is done in a DCHECK (which is a no-op during production). An attacker can control the input_idx variable such that ix would be larger than the number of values in node_t.args. The fix will be included in TensorFlow 2.8.0. This is the only affected version.
- Record
PYSEC-2022-101- Updated
- 2026-11-02
OSVPYSEC-2022-156 No score
Tensorflow is an Open Source Machine Learning Framework. TensorFlow's type inference can cause a heap out of bounds read as the bounds checking is done in a DCHECK (which is a no-op during production). An attacker can control the input_idx variable such that ix would be larger than the number of values in node_t.args. The fix will be included in TensorFlow 2.8.0. This is the only affected version.
- Record
PYSEC-2022-156- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
tensorflowPyPI |
2.8.0-rc0 to 2.8.0-rc0 | 2.8.0 |
tensorflow-cpuPyPI |
2.8.0-rc0 to 2.8.0-rc0 | 2.8.0 |
tensorflow-gpuPyPI |
2.8.0-rc0 to 2.8.0-rc0 | 2.8.0 |
tensorflowBitnami |
2.7.0 up to 2.8.0 | 2.8.0 |
tensorflowPyPI |
2.8.0-rc0 up to 2.8.0, plus listed versions 2.8.0rc02.8.0rc1 |
2.8.0 |
tensorflow-cpuPyPI |
2.8.0-rc0 up to 2.8.0 | 2.8.0 |
tensorflow-gpuPyPI |
2.8.0-rc0 up to 2.8.0, plus listed versions 2.8.0rc02.8.0rc1 |
2.8.0 |
tensorflow-cpuPyPI |
2.7.0 up to 2.8.0, plus listed versions 2.7.12.8.0rc02.8.0rc12.7.22.7.32.7.4 |
2.8.0 |
tensorflow-gpuPyPI |
2.7.0 up to 2.8.0, plus listed versions 2.7.12.8.0rc02.8.0rc12.7.22.7.32.7.4 |
2.8.0 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2022-23592 is a high vulnerability (CVSS 8.1) in Google Tensorflow, published February 4, 2022. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.86%, the 58th percentile. Fixed in tensorflow 2.8.0.
References
github.com/tensorflow/tensorflow/security/advisories/GHSA-vq36-27g6-p492
github.com/tensorflow/tensorflow/commit/c99d98cd189839dcf51aee94e7437b54b31f8abd
github.com/tensorflow/tensorflow/blob/274df9b02330b790aa8de1cee164b70f72b9b244/tensorflow/core/graph/graph.cc
nvd.nist.gov/vuln/detail/CVE-2022-23592
github.com/pypa/advisory-database/tree/main/vulns/tensorflow-cpu/PYSEC-2022-101.yaml
github.com/pypa/advisory-database/tree/main/vulns/tensorflow-gpu/PYSEC-2022-156.yaml