Skip to content
MediumVulnerability

CVE-2021-37690: TensorFlow segfault from unowned shape and type output in shape functions

Identifier
CVE-2021-37690
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 shape inference code leaves shape and type information from `ShapeAndType` structs, produced by functions such as `MutableHashTableShape`, owned by an inference context that is cleaned up almost immediately. If upstream code accesses that shape information, it can trigger a segfault. `ShapeRefiner` already clones normal output shapes to avoid this, but the same handling was missing for shapes and types.

Mitigation

Patched in GitHub commit ee119d4a498979525046fba1c3dd3f13a039fbb1. The fix will be included in TensorFlow 2.6.0, and the commit will be cherry-picked to TensorFlow 2.5.1, TensorFlow 2.4.3 and TensorFlow 2.3.4.