CVE-2020-5215
Last modified
CVE-2020-5215 is a high-severity vulnerability rated 7.5/10 on the CVSS scale. In TensorFlow before 1.15.2 and 2.0.1, converting a string (from Python) to a tf.float16 value results in a segmentation fault in eager mode as the format checks for this use case are only in the graph mode. This issue can lead to denial of service in inference/training where a malicious attacker can send a data point which contains a string instead of a tf.float16 value. EPSS estimates a 0.58% chance of exploitation in the next 30 days.
Description
In TensorFlow before 1.15.2 and 2.0.1, converting a string (from Python) to a tf.float16 value results in a segmentation fault in eager mode as the format checks for this use case are only in the graph mode. This issue can lead to denial of service in inference/training where a malicious attacker can send a data point which contains a string instead of a tf.float16 value. Similar effects can be obtained by manipulating saved models and checkpoints whereby replacing a scalar tf.float16 value with a scalar string will trigger this issue due to automatic conversions. This can be easily reproduced by tf.constant("hello", tf.float16), if eager execution is enabled. This issue is patched in TensorFlow 1.15.1 and 2.0.1 with this vulnerability patched. TensorFlow 2.1.0 was released after we fixed the issue, thus it is not affected. Users are encouraged to switch to TensorFlow 1.15.1, 2.0.1 or 2.1.0.
Metrics
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness Enumeration
Affected Software
| Vendor | Product | Versions |
|---|---|---|
| Tensorflow | < 1.15.2 | |
| Tensorflow | >= 2.0.0, < 2.0.1 |
References
- https://github.com/tensorflow/tensorflow/security/advisories/GHSA-977j-xj7q-2jr9Exploit, Patch, Third Party Advisory
- https://github.com/tensorflow/tensorflow/security/advisories/GHSA-977j-xj7q-2jr9Exploit, Patch, Third Party Advisory
Timeline
- Published
- Last Modified
- Status
- Modified
Frequently Asked Questions
What is CVE-2020-5215?
How severe is CVE-2020-5215?
How do I fix CVE-2020-5215?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2020
- CVE-2020-5209In NetHack before 3.6.5, unknown options starting with -de a…7.8
- CVE-2020-5210In NetHack before 3.6.5, an invalid argument to the -w comma…7.8
- CVE-2020-5211In NetHack before 3.6.5, an invalid extended command in valu…9.8
- CVE-2020-5212In NetHack before 3.6.5, an extremely long value for the MEN…9.8
- CVE-2020-5213In NetHack before 3.6.5, too long of a value for the SYMBOL …9.8
- CVE-2020-5214In NetHack before 3.6.5, detecting an unknown configuration …9.8
- CVE-2020-5216In Secure Headers (RubyGem secure_headers), a directive inje…5.8
- CVE-2020-5217In Secure Headers (RubyGem secure_headers), a directive inje…5.8
- CVE-2020-5218Affected versions of Sylius give attackers the ability to sw…4.3
- CVE-2020-5219Angular Expressions before version 1.0.1 has a remote code e…8.8
- CVE-2020-5220Sylius ResourceBundle accepts and uses any serialisation gro…5.3
- CVE-2020-5221In uftpd before 2.11, it is possible for an unauthenticated …7.2
Are you affected by CVE-2020-5215?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
