Skip to content
MediumVulnerability

CVE-2021-37692: TensorFlow Go segfault in string tensor deallocation during garbage collection

Identifier
CVE-2021-37692
Published
Record updated
View JSON
Affected
  • tensorflow >= 2.5.0rc0, < 2.5.1
  • tensorflow-cpu >= 2.5.0rc0, < 2.5.1
  • tensorflow-gpu >= 2.5.0rc0, < 2.5.1
Fixed in
2.5.1
  • tensorflow 2.5.1 released August 10, 2021, 3 days before disclosure
  • tensorflow-cpu 2.5.1 released August 10, 2021, 3 days before disclosure
  • tensorflow-gpu 2.5.1 released August 10, 2021, 3 days before disclosure
Known exploitation
Not listed in the CISA Known Exploited Vulnerabilities catalog at the last check.
EPSS
0.2%

Summary

TensorFlow's Go bindings can segfault during garbage collection of a string tensor whose encoding failed, for example because of mismatched dimensions. The `C.TF_TString_Dealloc` call in the finalizer assumes encoding succeeded, and tensor structure is only checked at encoding time to avoid a performance penalty. The affected versions are TensorFlow 2.5.1 and earlier versions of the same line.

Mitigation

Patched in GitHub commit 8721ba96e5760c229217b594f6d2ba332beedf22. The fix is included in TensorFlow 2.6.0 and cherry-picked to TensorFlow 2.5.1.