Skip to content
HighVulnerability

CVE-2021-37665: TensorFlow MKL requantization flaw allows out-of-bounds heap access

Identifier
CVE-2021-37665
Published
Record updated
View JSON
Affected
  • tensorflow < 2.3.4, fixed in 2.3.4, released August 10, 2021, 3 days before disclosure
  • tensorflow >= 2.4.0, < 2.4.3, fixed in 2.4.3, released August 10, 2021, 3 days before disclosure
  • tensorflow = 2.5.0, fixed in 2.5.1, released August 10, 2021, 3 days before disclosure
  • and 6 more
Known exploitation
Not listed in the CISA Known Exploited Vulnerabilities catalog at the last check.
EPSS
0.2%

Summary

TensorFlow's MKL implementation of requantization fails to fully validate its inputs. In `mkl_requantization_range_per_channel_op.cc`, the `input` tensor's dimensions are not checked, and `MklRequantizePerChannelOp` in `mkl_requantize_per_channel_op.cc` similarly skips full validation of its input arguments. An attacker can trigger undefined behavior by binding a reference to a null pointer, or read data outside the bounds of heap-allocated arrays.

Mitigation

Patched in GitHub commits 9e62869465573cb2d9b5053f1fa02a81fce21d69 and 203214568f5bc237603dbab6e1fd389f1572f5c9. The fix will be included in TensorFlow 2.6.0, and the commit will be cherry-picked to TensorFlow 2.5.1, 2.4.3 and 2.3.4.