Out of bounds segmentation fault due to unequal op inputs in Tensorflow
Medium6.8CVE-2022-41883 · Published Nov 21, 2022 · updated Jul 13, 2026
Affected versions
| Package | Affected | Fixed in |
|---|---|---|
| tensorflow PyPI | >= 2.10.0, < 2.10.1 | 2.10.1 |
Details and references
### Impact [`tf.raw_ops.DynamicStitch`](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/kernels/dynamic_stitch_op.cc) specifies input sizes when it is [registered](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/ops/data_flow_ops.cc). ```cpp REGISTER_OP("DynamicStitch") .Input("indices: N * int32") .Input("data: N * T") .Output("merged: T") .Attr("N : int >= 1") .Attr("T : type") .SetShapeFn(DynamicStitchShapeFunction); ``` When it receives a differing number of inputs, such as when it is called with an `indices` size 1 and a `data` size 2, it will crash. ```python import tensorflow as tf # indices = 1*[tf.random.uniform([1,2], dtype=tf.dtypes.int32, maxval=100)] indices = [tf.constant([[0, 1]]),] # data = 2*[tf.random.uniform([1,2], dtype=tf.dtypes.float32, maxval=100)] data = [tf.constant([[5, 6]]), tf.constant([[7, 8]])] tf.raw_ops.DynamicStitch( indices=indices, data=data) ``` ### Patches We have patched the issue in GitHub commit [f5381e0e10b5a61344109c1b7c174c68110f7629](https://github.com/tensorflow/tensorflow/commit/f5381e0e10b5a61344109c1b7c174c68110f7629). The fix will be included in TensorFlow 2.11. We will also cherrypick this commit on TensorFlow 2.10.1 as this is also affected. ### 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. ### Attribution This vulnerability has been reported by Zizhuang Deng of IIE, UCAS
- CVSS 3.1
- CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:H
- Severity from
- GitHub (reviewed advisory)
- Weakness
- CWE-125
- Also known as
- BIT-tensorflow-2022-41883, CVE-2022-41883, PYSEC-2026-1042, PYSEC-2026-3251, PYSEC-2026-3376
- github.com/tensorflow/tensorflow/security/advisories/GHSA-w58w-79xv-6vcj
- nvd.nist.gov/vuln/detail/CVE-2022-41883
- github.com/tensorflow/tensorflow/commit/f5381e0e10b5a61344109c1b7c174c68110f7629
- github.com/tensorflow/tensorflow
- github.com/tensorflow/tensorflow/blob/master/tensorflow/core/kernels/dynamic_stitch_op.cc
- github.com/tensorflow/tensorflow/blob/master/tensorflow/core/ops/data_flow_ops.cc
More TensorFlow advisories
All TensorFlow| Date | Advisory | Severity | Fixed in |
|---|---|---|---|
| Nov 212022 | Seg fault in `ndarray_tensor_bridge` due to zero and large inputs CVE-2022-41884Medium4.8fixed in 2.8.4, 2.9.3, 2.10.1 | Medium4.8 | 2.8.4, 2.9.3, 2.10.1 |
| Nov 212022 | Overflow in `FusedResizeAndPadConv2D` CVE-2022-41885Medium4.8fixed in 2.7.4, 2.8.1, 2.9.1 | Medium4.8 | 2.7.4, 2.8.1, 2.9.1 |
| Nov 212022 | Overflow in `ImageProjectiveTransformV2` CVE-2022-41886Medium4.8fixed in 2.8.4, 2.9.3, 2.10.1 | Medium4.8 | 2.8.4, 2.9.3, 2.10.1 |
| Nov 212022 | Overflow in `tf.keras.losses.poisson` CVE-2022-41887Medium4.8fixed in 2.9.3, 2.10.1 | Medium4.8 | 2.9.3, 2.10.1 |
| Nov 212022 | FPE in `tf.image.generate_bounding_box_proposals` CVE-2022-41888Medium4.8fixed in 2.8.4, 2.9.3, 2.10.1 | Medium4.8 | 2.8.4, 2.9.3, 2.10.1 |
| Nov 212022 | Segfault via invalid attributes in `pywrap_tfe_src.cc` CVE-2022-41889Medium5.5fixed in 2.8.4, 2.9.3, 2.10.1 | Medium5.5 | 2.8.4, 2.9.3, 2.10.1 |