Junglewise Threat Intelligence

CVE-2021-29562: PYSEC-2021-688 - TensorFlow is an end-to-end open source platform for machine learning. An attacker can cause a denial of service by exploiting a `CHECK`-fai

CVE-2021-29562 · Severity: low · CVSS 3.1 · Published 2021-05-14

Technologies: tensorflow-cpu (PyPI), tensorflow-gpu (PyPI), Google TensorFlow. Vendors: Google, PyPI.

Executive brief

TensorFlow is an open-source machine learning library used to build and train neural networks. A denial-of-service vulnerability in the IRFFT (inverse real fast Fourier transform) operation allows an attacker to crash TensorFlow applications by providing specially crafted input parameters, causing the application to terminate abruptly.

Technical details

The vulnerability is a CHECK-fail assertion triggered in tf.raw_ops.IRFFT when an empty FFT length is specified alongside valid input data. The vulnerable code passes parameters to Eigen's FFT implementation without properly validating that the FFT length is non-zero, causing an assertion failure that terminates the process. An attacker can exploit this remotely if the vulnerable TensorFlow function is exposed via a web service or API without proper input validation. The fix validates FFT length parameters before passing them to Eigen code. Patches are available in TensorFlow 2.1.4, 2.2.3, 2.3.3, 2.4.2, and 2.5.0+.

Affected products

  • Google TensorFlow all versions before 2.1.4; 2.2.0 before 2.2.3; 2.3.0 before 2.3.3; 2.4.0 before 2.4.2
  • Google TensorFlow CPU all versions before 2.1.4; 2.2.0 before 2.2.3; 2.3.0 before 2.3.3; 2.4.0 before 2.4.2
  • Google TensorFlow GPU all versions before 2.1.4; 2.2.0 before 2.2.3; 2.3.0 before 2.3.3; 2.4.0 before 2.4.2

Timeline

  • 2021-05-21: disclosed: Vulnerability published via GHSA-36vm-xw34-x4pj
  • 2021-05-21: patched: Patches released in TensorFlow 2.1.4, 2.2.3, 2.3.3, 2.4.2, and 2.5.0

References

Related threats