Skip to content
LowVulnerability

CVE-2021-29538: TensorFlow division by zero in Conv2DBackpropFilter denial of service

Identifier
CVE-2021-29538
Published
Record updated
View JSON
Affected
  • tensorflow < 2.1.4, fixed in 2.1.4, released June 15, 2021, 31 days after disclosure
  • tensorflow >= 2.2.0, < 2.2.3, fixed in 2.2.3, released June 15, 2021, 31 days after disclosure
  • tensorflow >= 2.3.0, < 2.3.3, fixed in 2.3.3, released June 15, 2021, 31 days after disclosure
  • and 9 more
Known exploitation
Not listed in the CISA Known Exploited Vulnerabilities catalog at the last check.
EPSS
0.2%

Summary

CVE-2021-29538 affects TensorFlow's `Conv2DBackpropFilter` operation. When all tensor shapes passed in are empty, `work_unit_size` becomes 0, and the code divides by it without checking first. An attacker who controls the input shapes can trigger a runtime exception, enabling denial of service.

Mitigation

Fix will be included in TensorFlow 2.5.0. The commit will also be cherry-picked to TensorFlow 2.4.2, 2.3.3, 2.2.3 and 2.1.4.