Skip to content
MediumVulnerability

CVE-2020-5215: TensorFlow segmentation fault from string to float16 conversion in eager mode

Identifier
CVE-2020-5215
Published
Record updated
View JSON
Affected
  • tensorflow < 1.15.2, fixed in 1.15.2, released January 26, 2020, 3 days before disclosure
  • tensorflow = 2.0.0, fixed in 2.0.1, released January 26, 2020, 3 days before disclosure
  • tensorflow-cpu < 1.15.2, fixed in 1.15.2
  • and 3 more
Known exploitation
Not listed in the CISA Known Exploited Vulnerabilities catalog at the last check.
EPSS
0.6%

Summary

CVE-2020-5215 affects TensorFlow before 1.15.2 and 2.0.1. Converting a string from Python to a tf.float16 value causes a segmentation fault in eager mode, because the format checks exist only in graph mode. An attacker can trigger a denial of service during inference or training by supplying a string where a tf.float16 value is expected, or by replacing a scalar tf.float16 value with a scalar string in saved models and checkpoints. The issue reproduces with tf.constant("hello", tf.float16) when eager execution is enabled.

Mitigation

Patched in TensorFlow 1.15.1 and 2.0.1. TensorFlow 2.1.0 is not affected. Users are encouraged to switch to TensorFlow 1.15.1, 2.0.1 or 2.1.0.