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.
| Package (Ecosystem) | Introduced | Fixed | Limit |
|---|---|---|---|
| tensorflow(PyPI) | 0 | 2.6.4 | N/A |
| tensorflow(PyPI) | 2.7.0 | 2.7.2 | N/A |
| tensorflow(PyPI) | 2.8.0 | 2.8.1 | N/A |
| tensorflow-cpu(PyPI) | 0 | 2.6.4 | N/A |
| tensorflow-cpu(PyPI) | 2.7.0 | 2.7.2 | N/A |
| tensorflow-cpu(PyPI) | 2.8.0 | 2.8.1 | N/A |
| tensorflow-gpu(PyPI) | 0 | 2.6.4 | N/A |
| tensorflow-gpu(PyPI) | 2.7.0 | 2.7.2 | N/A |
| tensorflow-gpu(PyPI) | 2.8.0 | 2.8.1 | N/A |
CVSS Metrics