Skip to content
MediumVulnerability

CVE-2021-37646: TensorFlow integer overflow in tf.raw_ops.StringNGrams memory allocation

Identifier
CVE-2021-37646
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

In affected TensorFlow versions, `tf.raw_ops.StringNGrams` has an integer overflow. Negative `ngram_widths` supplied by a user are implicitly converted from a signed to an unsigned value when `reserve` calls `TF_TString_Reserve`, producing a very large allocation size.

Mitigation

Patched in GitHub commit c283e542a3f422420cfdb332414543b62fc4e4a5. 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.