Denial of Service in Tensorflow
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 1.15.4, 2.0.3, 2.1.2, 2.2.1, 2.3.1
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In Tensorflow before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1, changing the TensorFlow's `SavedModel` protocol buffer and altering the name of required keys results in segfaults and data corruption while loading the model. This can cause a denial of service in products using `tensorflow-serving` or other inference-as-a-service installments. Fixed were added in commits f760f88b4267d981e13f4b302c437ae800445968 and fcfef195637c6e365577829c4d67681695956e7d (both going into TensorFlow 2.2.0 and 2.3.0 but not yet backported to earlier versions). However, this was not enough, as #41097 reports a different failure mode. The issue is patched in commit adf095206f25471e864a8e63a0f1caef53a0e3a6, and is released in TensorFlow versions 1.15.4, 2.0.3, 2.1.2, 2.2.1, or 2.3.1.
Timeline
- CVE published
- Record last updated
Affected versions
- tensorflow tensorflow
fixed in 1.15.4; From 2.0.0 · fixed in 2.0.3; From 2.1.0 · fixed in 2.1.2; From 2.2.0 · fixed in 2.2.1; From 2.3.0 · fixed in 2.3.1
- tensorflow-gpuPyPI
fixed in 1.15.4; From 2.0.0 · fixed in 2.0.3; From 2.1.0 · fixed in 2.1.2; From 2.2.0 · fixed in 2.2.1; From 2.3.0 · fixed in 2.3.1
- tensorflowPyPI
fixed in 1.15.4
- tensorflowPyPI
From 2.0.0 · fixed in 2.0.3
- tensorflowPyPI
From 2.1.0 · fixed in 2.1.2
- tensorflowPyPI
From 2.2.0 · fixed in 2.2.1
- tensorflowPyPI
From 2.3.0 · fixed in 2.3.1
- tensorflow-cpuPyPI
fixed in 1.15.4
- tensorflow-cpuPyPI
From 2.0.0 · fixed in 2.0.3
- tensorflow-cpuPyPI
From 2.1.0 · fixed in 2.1.2
- tensorflow-cpuPyPI
From 2.2.0 · fixed in 2.2.1
- tensorflow-cpuPyPI
From 2.3.0 · fixed in 2.3.1
- tensorflow-gpuPyPI
fixed in 1.15.4
- tensorflow-gpuPyPI
From 2.0.0 · fixed in 2.0.3
- tensorflow-gpuPyPI
From 2.1.0 · fixed in 2.1.2
- tensorflow-gpuPyPI
From 2.2.0 · fixed in 2.2.1
- tensorflow-gpuPyPI
From 2.3.0 · fixed in 2.3.1
- tensorflowPyPI
fixed in 1.15.4; From 2.0.0 · fixed in 2.0.3; From 2.1.0 · fixed in 2.1.2; From 2.2.0 · fixed in 2.2.1; From 2.3.0 · fixed in 2.3.1
- tensorflow-cpuPyPI
fixed in 1.15.4; From 2.0.0 · fixed in 2.0.3; From 2.1.0 · fixed in 2.1.2; From 2.2.0 · fixed in 2.2.1; From 2.3.0 · fixed in 2.3.1