Vulnerability · Published Nov 5, 2021 · Assigned by GitHub_M
CVE-2021-41195Crash in `tf.math.segment_*` operations
Medium 5.5
In plain English
A medium-severity integer overflow in tensorflow from tensorflow. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 12% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
TensorFlow is an open source platform for machine learning. In affected versions the implementation of `tf.math.segment_*` operations results in a `CHECK`-fail related abort (and denial of service) if a segment id in `segment_ids` is large. This is similar to CVE-2021-29584 (and similar other reported vulnerabilities in TensorFlow, localized to specific APIs): the implementation (both on CPU and GPU) computes the output shape using `AddDim`. However, if the number of elements in the tensor overflows an `int64_t` value, `AddDim` results in a `CHECK` failure which provokes a `std::abort`. Instead, code should use `AddDimWithStatus`. The fix will be included in TensorFlow 2.7.0. We will also cherrypick this commit on TensorFlow 2.6.1, TensorFlow 2.5.2, and TensorFlow 2.4.4, as these are also affected and still in supported range.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| PyPI | tensorflow | 2.4.4, 2.5.2, 2.6.1 | PYSEC-2021-842 |
| PyPI | tensorflow | 2.6.1 | GHSA-cq76-mxrc-vchh |
| PyPI | tensorflow | 2.5.2 | GHSA-cq76-mxrc-vchh |
| PyPI | tensorflow | 2.4.4 | GHSA-cq76-mxrc-vchh |
| PyPI | tensorflow-cpu | 2.5.2 | GHSA-cq76-mxrc-vchh |
| PyPI | tensorflow-cpu | 2.4.4, 2.5.2, 2.6.1 | PYSEC-2021-844 |
| PyPI | tensorflow-cpu | 2.6.1 | GHSA-cq76-mxrc-vchh |
| PyPI | tensorflow-cpu | 2.4.4 | GHSA-cq76-mxrc-vchh |
| PyPI | tensorflow-gpu | 2.4.4, 2.5.2, 2.6.1 | PYSEC-2021-846 |
| PyPI | tensorflow-gpu | 2.6.1 | GHSA-cq76-mxrc-vchh |
| PyPI | tensorflow-gpu | 2.5.2 | GHSA-cq76-mxrc-vchh |
| PyPI | tensorflow-gpu | 2.4.4 | GHSA-cq76-mxrc-vchh |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| tensorflow | tensorflow | >= 2.6.0, < 2.6.1>= 2.5.0, < 2.5.2< 2.4.4 |
Weakness: CWE-190 · Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
References
- https://github.com/tensorflow/tensorflow/security/advisories/GHSA-cq76-mxrc-vchh x_refsource_CONFIRM
- https://github.com/tensorflow/tensorflow/issues/46888 x_refsource_MISC
- https://github.com/tensorflow/tensorflow/pull/51733 x_refsource_MISC
- https://github.com/tensorflow/tensorflow/commit/e9c81c1e1a9cd8dd31f4e83676cab61b60658429 x_refsource_MISC