Description
TensorFlow is an open source platform for machine learning. Prior to versions 2.9.0, 2.8.1, 2.7.2, and 2.6.4, the implementation of `tf.raw_ops.UnsortedSegmentJoin` does not fully validate the input arguments. This results in a `CHECK`-failure which can be used to trigger a denial of service attack. The code assumes `num_segments` is a positive scalar but there is no validation. Since this value is used to allocate the output tensor, a negative value would result in a `CHECK`-failure (assertion failure), as per TFSA-2021-198. Versions 2.9.0, 2.8.1, 2.7.2, and 2.6.4 contain a patch for this issue.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| tensorflow | tensorflow | < 2.6.4, >= 2.7.0rc0, < 2.7.2, >= 2.8.0rc0, < 2.8.1, >= 2.9.0rc0, < 2.9.0 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| PyPI | tensorflow | < 2.6.4 | 2.6.4 | GHSA-hx9q-2mx4-m4pg |
| PyPI | tensorflow | >= 2.7.0, < 2.7.2 | 2.7.2 | GHSA-hx9q-2mx4-m4pg |
| PyPI | tensorflow | >= 2.8.0, < 2.8.1 | 2.8.1 | GHSA-hx9q-2mx4-m4pg |
| PyPI | tensorflow | < 2.6.4 · >= 2.7.0, < 2.7.2 · >= 2.8.0, < 2.8.1 | 2.6.4, 2.7.2, 2.8.1 | PYSEC-2026-3203 |
| PyPI | tensorflow-cpu | < 2.6.4 | 2.6.4 | GHSA-hx9q-2mx4-m4pg |
| PyPI | tensorflow-cpu | >= 2.7.0, < 2.7.2 | 2.7.2 | GHSA-hx9q-2mx4-m4pg |
| PyPI | tensorflow-cpu | >= 2.8.0, < 2.8.1 | 2.8.1 | GHSA-hx9q-2mx4-m4pg |
| PyPI | tensorflow-cpu | < 2.6.4 · >= 2.7.0, < 2.7.2 · >= 2.8.0, < 2.8.1 | 2.6.4, 2.7.2, 2.8.1 | PYSEC-2026-3342 |
| PyPI | tensorflow-gpu | < 2.6.4 | 2.6.4 | GHSA-hx9q-2mx4-m4pg |
| PyPI | tensorflow-gpu | >= 2.7.0, < 2.7.2 | 2.7.2 | GHSA-hx9q-2mx4-m4pg |
| PyPI | tensorflow-gpu | >= 2.8.0, < 2.8.1 | 2.8.1 | GHSA-hx9q-2mx4-m4pg |
| PyPI | tensorflow-gpu | < 2.6.4 · >= 2.7.0, < 2.7.2 · >= 2.8.0, < 2.8.1 | 2.6.4, 2.7.2, 2.8.1 | PYSEC-2026-1010 |
References
- https://github.com/tensorflow/tensorflow/blob/master/tensorflow/security/advisory/tfsa-2021-198.md
- https://github.com/tensorflow/tensorflow/releases/tag/v2.6.4
- https://github.com/tensorflow/tensorflow/releases/tag/v2.7.2
- https://github.com/tensorflow/tensorflow/releases/tag/v2.8.1
- https://github.com/tensorflow/tensorflow/releases/tag/v2.9.0
- https://github.com/tensorflow/tensorflow/security/advisories/GHSA-hx9q-2mx4-m4pg
- https://github.com/tensorflow/tensorflow/commit/20cb18724b0bf6c09071a3f53434c4eec53cc147
- https://github.com/tensorflow/tensorflow/commit/84563f265f28b3c36a15335c8b005d405260e943
- https://github.com/tensorflow/tensorflow/blob/f3b9bf4c3c0597563b289c0512e98d4ce81f886e/tensorflow/core/kernels/unsorted_segment_join_op.cc#L83-L14