CVE-2022-41910
Heap out of bounds read in `QuantizeAndDequantizeV2` in Tensorflow
TensorFlow is an open source platform for machine learning. The function MakeGrapplerFunctionItem takes arguments that determine the sizes of inputs and outputs. If the inputs given are greater than or equal to the sizes of the outputs, an out-of-bounds memory read or a crash is triggered. We have patched the issue in GitHub commit a65411a1d69edfb16b25907ffb8f73556ce36bb7. The fix will be included in TensorFlow 2.11.0. We will also cherrypick this commit on TensorFlow 2.8.4, 2.9.3, and 2.10.1.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- Low
- User interaction
- Required
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
4.8
Heap out of bounds read in `QuantizeAndDequantizeV2` in Tensorflow
TensorFlow is an open source platform for machine learning. The function MakeGrapplerFunctionItem takes arguments that determine the sizes of inputs and outputs. If the inputs given are greater than or equal to the sizes of the outputs, an out-of-bounds memory read or a crash is triggered. We have patched the issue in GitHub commit a65411a1d69edfb16b25907ffb8f73556ce36bb7. The fix will be included in TensorFlow 2.11.0. We will also cherrypick this commit on TensorFlow 2.8.4, 2.9.3, and 2.10.1.
- Record
CVE-2022-41910- CVSS 3.1
- 4.8 Medium
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:N/I:N/A:H - Weakness
- CWE-125
- Updated
- 2026-11-02
EUVDEUVD-2022-7333
4.8
TensorFlow is an open source platform for machine learning. The function MakeGrapplerFunctionItem takes arguments that determine the sizes of inputs and outputs. If the inputs given are greater than or equal to the sizes of the outputs, an out-of-bounds memory read or a crash is triggered. We have patched the issue in GitHub commit a65411a1d69edfb16b25907ffb8f73556ce36bb7. The fix will be included in TensorFlow 2.11.0. We will also cherrypick this commit on TensorFlow 2.8.4, 2.9.3, and 2.10.1.
- Record
EUVD-2022-7333- CVSS 3.1
- 4.8 Medium
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-frqp-wp83-qggv
4.8
Heap overflow in `QuantizeAndDequantizeV2`
Impact
The function MakeGrapplerFunctionItem takes arguments that determine the sizes of inputs and outputs. If the inputs given are greater than or equal to the sizes of the outputs, an out-of-bounds memory read or a crash is triggered.
import tensorflow as tf
@tf.function
def test():
tf.raw_ops.QuantizeAndDequantizeV2(input=[2.5],
input_min=[1.0],
input_max=[10.0],
signed_input=True,
num_bits=1,
range_given=True,
round_mode='HALF_TO_EVEN',
narrow_range=True,
axis=0x7fffffff)
test()
Patches
We have patched the issue in GitHub commit 7b174a0f2e40ff3f3aa957aecddfd5aaae35eccb.
The fix will be included in TensorFlow 2.11.0. We will also cherrypick this commit on TensorFlow 2.10.1.
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-frqp-wp83-qggv- CVSS 3.1
- 4.8 Medium
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:N/I:N/A:H - Weakness
- CWE-125
- Updated
- 2026-11-02
NVD
4.8
TensorFlow is an open source platform for machine learning. The function MakeGrapplerFunctionItem takes arguments that determine the sizes of inputs and outputs. If the inputs given are greater than or equal to the sizes of the outputs, an out-of-bounds memory read or a crash is triggered. We have patched the issue in GitHub commit a65411a1d69edfb16b25907ffb8f73556ce36bb7. The fix will be included in TensorFlow 2.11.0. We will also cherrypick this commit on TensorFlow 2.8.4, 2.9.3, and 2.10.1.
- Record
CVE-2022-41910- CVSS 3.1
- 4.8 Medium
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:N/I:N/A:H - CVSS 3.1
- 9.1 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H - Weakness
- CWE-125
- Updated
- 2026-11-02
OSV
4.8
Heap out of bounds read in `QuantizeAndDequantizeV2` in Tensorflow
TensorFlow is an open source platform for machine learning. The function MakeGrapplerFunctionItem takes arguments that determine the sizes of inputs and outputs. If the inputs given are greater than or equal to the sizes of the outputs, an out-of-bounds memory read or a crash is triggered. We have patched the issue in GitHub commit a65411a1d69edfb16b25907ffb8f73556ce36bb7. The fix will be included in TensorFlow 2.11.0. We will also cherrypick this commit on TensorFlow 2.8.4, 2.9.3, and 2.10.1.
- Record
CVE-2022-41910- CVSS 3.1
- 4.8 Medium
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:N/I:N/A:H - Weakness
- CWE-125
- Updated
- 2026-11-02
OSVGHSA-frqp-wp83-qggv
4.8
Heap overflow in `QuantizeAndDequantizeV2`
Impact
The function MakeGrapplerFunctionItem takes arguments that determine the sizes of inputs and outputs. If the inputs given are greater than or equal to the sizes of the outputs, an out-of-bounds memory read or a crash is triggered.
import tensorflow as tf
@tf.function
def test():
tf.raw_ops.QuantizeAndDequantizeV2(input=[2.5],
input_min=[1.0],
input_max=[10.0],
signed_input=True,
num_bits=1,
range_given=True,
round_mode='HALF_TO_EVEN',
narrow_range=True,
axis=0x7fffffff)
test()
Patches
We have patched the issue in GitHub commit 7b174a0f2e40ff3f3aa957aecddfd5aaae35eccb.
The fix will be included in TensorFlow 2.11.0. We will also cherrypick this commit on TensorFlow 2.10.1.
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-frqp-wp83-qggv- CVSS 3.1
- 4.8 Medium
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:N/I:N/A:H - Weakness
- CWE-125
- Updated
- 2026-11-02
Show 4 moreShow less
OSVPYSEC-2026-3178
4.8
Heap overflow in `QuantizeAndDequantizeV2`
Impact
The function MakeGrapplerFunctionItem takes arguments that determine the sizes of inputs and outputs. If the inputs given are greater than or equal to the sizes of the outputs, an out-of-bounds memory read or a crash is triggered.
import tensorflow as tf
@tf.function
def test():
tf.raw_ops.QuantizeAndDequantizeV2(input=[2.5],
input_min=[1.0],
input_max=[10.0],
signed_input=True,
num_bits=1,
range_given=True,
round_mode='HALF_TO_EVEN',
narrow_range=True,
axis=0x7fffffff)
test()
Patches
We have patched the issue in GitHub commit 7b174a0f2e40ff3f3aa957aecddfd5aaae35eccb.
The fix will be included in TensorFlow 2.11.0. We will also cherrypick this commit on TensorFlow 2.10.1.
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-3178- CVSS 3.1
- 4.8 Medium
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVPYSEC-2026-3323
4.8
Heap overflow in `QuantizeAndDequantizeV2`
Impact
The function MakeGrapplerFunctionItem takes arguments that determine the sizes of inputs and outputs. If the inputs given are greater than or equal to the sizes of the outputs, an out-of-bounds memory read or a crash is triggered.
import tensorflow as tf
@tf.function
def test():
tf.raw_ops.QuantizeAndDequantizeV2(input=[2.5],
input_min=[1.0],
input_max=[10.0],
signed_input=True,
num_bits=1,
range_given=True,
round_mode='HALF_TO_EVEN',
narrow_range=True,
axis=0x7fffffff)
test()
Patches
We have patched the issue in GitHub commit 7b174a0f2e40ff3f3aa957aecddfd5aaae35eccb.
The fix will be included in TensorFlow 2.11.0. We will also cherrypick this commit on TensorFlow 2.10.1.
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-3323- CVSS 3.1
- 4.8 Medium
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVPYSEC-2026-992
4.8
Heap overflow in `QuantizeAndDequantizeV2`
Impact
The function MakeGrapplerFunctionItem takes arguments that determine the sizes of inputs and outputs. If the inputs given are greater than or equal to the sizes of the outputs, an out-of-bounds memory read or a crash is triggered.
import tensorflow as tf
@tf.function
def test():
tf.raw_ops.QuantizeAndDequantizeV2(input=[2.5],
input_min=[1.0],
input_max=[10.0],
signed_input=True,
num_bits=1,
range_given=True,
round_mode='HALF_TO_EVEN',
narrow_range=True,
axis=0x7fffffff)
test()
Patches
We have patched the issue in GitHub commit 7b174a0f2e40ff3f3aa957aecddfd5aaae35eccb.
The fix will be included in TensorFlow 2.11.0. We will also cherrypick this commit on TensorFlow 2.10.1.
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-992- CVSS 3.1
- 4.8 Medium
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVBIT-tensorflow-2022-41910 No score
Heap out of bounds read in `QuantizeAndDequantizeV2` in Tensorflow
TensorFlow is an open source platform for machine learning. The function MakeGrapplerFunctionItem takes arguments that determine the sizes of inputs and outputs. If the inputs given are greater than or equal to the sizes of the outputs, an out-of-bounds memory read or a crash is triggered. We have patched the issue in GitHub commit a65411a1d69edfb16b25907ffb8f73556ce36bb7. The fix will be included in TensorFlow 2.11.0. We will also cherrypick this commit on TensorFlow 2.8.4, 2.9.3, and 2.10.1.
- Record
BIT-tensorflow-2022-41910- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
tensorflowPyPI |
before 2.8.4 | 2.8.4 |
tensorflowPyPI |
2.9.0 up to 2.9.3 | 2.9.3 |
tensorflowPyPI |
2.10.0 up to 2.10.1 | 2.10.1 |
tensorflow-cpuPyPI |
before 2.8.4 | 2.8.4 |
tensorflow-gpuPyPI |
before 2.8.4 | 2.8.4 |
tensorflow-cpuPyPI |
2.9.0 up to 2.9.3 | 2.9.3 |
tensorflow-gpuPyPI |
2.9.0 up to 2.9.3 | 2.9.3 |
tensorflow-cpuPyPI |
2.10.0 up to 2.10.1 | 2.10.1 |
tensorflow-gpuPyPI |
2.10.0 up to 2.10.1 | 2.10.1 |
tensorflowBitnami |
before 2.8.4, 2.9.0 up to 2.9.3, 2.10.0 up to 2.10.1 | 2.8.42.9.32.10.1 |
Show 9 moreShow less
| Package | Affected | Fixed |
|---|---|---|
tensorflowPyPI |
before 2.8.4, plus listed versions 0.12.00.12.11.0.01.0.11.1.0 Show 45 moreShow less1.10.01.10.11.11.01.12.01.12.21.12.31.13.11.13.21.14.01.15.01.15.21.15.31.15.41.15.51.2.01.2.11.3.01.4.01.4.11.5.01.5.11.6.01.7.01.7.11.8.01.9.02.0.02.0.12.0.22.0.32.0.42.1.02.1.12.1.22.1.32.1.42.2.02.2.12.2.22.2.32.3.02.3.12.3.22.3.32.3.4 |
2.8.4 |
tensorflowPyPI |
2.9.0 up to 2.9.3, plus listed versions 2.9.12.9.2 |
2.9.3 |
tensorflow-cpuPyPI |
before 2.8.4, plus listed versions 1.15.02.1.02.1.12.1.22.1.3 Show 34 moreShow less2.1.42.2.02.2.12.2.22.2.32.3.02.3.12.3.22.3.32.3.42.4.02.4.12.4.22.4.32.4.42.5.02.5.12.5.22.5.32.6.02.6.12.6.22.6.32.6.42.6.52.7.02.7.12.7.22.7.32.7.42.8.02.8.12.8.22.8.3 |
2.8.4 |
tensorflow-gpuPyPI |
before 2.8.4, plus listed versions 0.12.00.12.11.0.01.0.11.1.0 Show 45 moreShow less1.10.01.10.11.11.01.12.01.12.21.12.31.13.11.13.21.14.01.15.01.15.21.15.31.15.41.15.51.2.01.2.11.3.01.4.01.4.11.5.01.5.11.6.01.7.01.7.11.8.01.9.02.0.02.0.12.0.22.0.32.0.42.1.02.1.12.1.22.1.32.1.42.2.02.2.12.2.22.2.32.3.02.3.12.3.22.3.32.3.4 |
2.8.4 |
tensorflow-cpuPyPI |
2.9.0 up to 2.9.3, plus listed versions 2.9.12.9.2 |
2.9.3 |
tensorflow-gpuPyPI |
2.9.0 up to 2.9.3, plus listed versions 2.9.12.9.2 |
2.9.3 |
tensorflowPyPI |
before 2.8.4, 2.9.0 up to 2.9.3, 2.10.0 up to 2.10.1, plus listed versions 0.12.00.12.11.0.01.0.11.1.0 Show 45 moreShow less1.10.01.10.11.11.01.12.01.12.21.12.31.13.11.13.21.14.01.15.01.15.21.15.31.15.41.15.51.2.01.2.11.3.01.4.01.4.11.5.01.5.11.6.01.7.01.7.11.8.01.9.02.0.02.0.12.0.22.0.32.0.42.1.02.1.12.1.22.1.32.1.42.2.02.2.12.2.22.2.32.3.02.3.12.3.22.3.32.3.4 |
2.8.42.9.32.10.1 |
tensorflow-cpuPyPI |
before 2.8.4, 2.9.0 up to 2.9.3, 2.10.0 up to 2.10.1, plus listed versions 1.15.02.1.02.1.12.1.22.1.3 Show 36 moreShow less2.1.42.2.02.2.12.2.22.2.32.3.02.3.12.3.22.3.32.3.42.4.02.4.12.4.22.4.32.4.42.5.02.5.12.5.22.5.32.6.02.6.12.6.22.6.32.6.42.6.52.7.02.7.12.7.22.7.32.7.42.8.02.8.12.8.22.8.32.9.12.9.2 |
2.8.42.9.32.10.1 |
tensorflow-gpuPyPI |
before 2.8.4, 2.9.0 up to 2.9.3, 2.10.0 up to 2.10.1, plus listed versions 0.12.00.12.11.0.01.0.11.1.0 Show 45 moreShow less1.10.01.10.11.11.01.12.01.12.21.12.31.13.11.13.21.14.01.15.01.15.21.15.31.15.41.15.51.2.01.2.11.3.01.4.01.4.11.5.01.5.11.6.01.7.01.7.11.8.01.9.02.0.02.0.12.0.22.0.32.0.42.1.02.1.12.1.22.1.32.1.42.2.02.2.12.2.22.2.32.3.02.3.12.3.22.3.32.3.4 |
2.8.42.9.32.10.1 |
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-41910 is a medium vulnerability (CVSS 4.8) in Google Tensorflow, published November 21, 2022. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.44%, the 38th percentile. Fixed in tensorflow 2.8.4.
References
github.com/tensorflow/tensorflow/security/advisories/GHSA-frqp-wp83-qggv
github.com/tensorflow/tensorflow/commit/a65411a1d69edfb16b25907ffb8f73556ce36bb7
github.com/tensorflow/tensorflow/blob/master/tensorflow/core/grappler/utils/functions.cc
nvd.nist.gov/vuln/detail/CVE-2022-41910
github.com/advisories/GHSA-frqp-wp83-qggv
github.com/CVEProject/cvelistV5/tree/main/cves/2022/41xxx/CVE-2022-41910.json
Left out here: 122 versions. The JSON record has them.