CVE-2020-15206
Description
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.
Predictions
Heuristic predictions, AS-IS, for prioritization only.
Mitigations
Vendor advisory: debian — https://security-tracker.debian.org/tracker/CVE-2020-15206
OS impact
| OS | Version | Status | Fixed in |
|---|---|---|---|
| debian | forky | fixed | 0 |
| debian | sid | fixed | 0 |
Package impact
| Ecosystem | Package | Vulnerable | Fixed |
|---|---|---|---|
| PyPI | tensorflow-cpu | >=2.2.0,<2.2.1 | 2.2.1 |
| PyPI | tensorflow-cpu | >=2.3.0,<2.3.1 | 2.3.1 |
| PyPI | tensorflow-gpu | <1.15.4 | 1.15.4 |
| PyPI | tensorflow-gpu | >=2.0.0,<2.0.3 | 2.0.3 |
| PyPI | tensorflow-gpu | >=2.1.0,<2.1.2 | 2.1.2 |
| PyPI | tensorflow-gpu | >=2.2.0,<2.2.1 | 2.2.1 |
| PyPI | tensorflow-gpu | >=2.3.0,<2.3.1 | 2.3.1 |
| PyPI | tensorflow | <1.15.4 | 1.15.4 |
| PyPI | tensorflow | >=2.0.0,<2.0.3 | 2.0.3 |
| PyPI | tensorflow | >=2.1.0,<2.1.2 | 2.1.2 |
| PyPI | tensorflow | >=2.2.0,<2.2.1 | 2.2.1 |
| PyPI | tensorflow | >=2.3.0,<2.3.1 | 2.3.1 |
| PyPI | tensorflow-cpu | <1.15.4 | 1.15.4 |
| PyPI | tensorflow-cpu | >=2.0.0,<2.0.3 | 2.0.3 |
| PyPI | tensorflow-cpu | >=2.1.0,<2.1.2 | 2.1.2 |
| PyPI | tensorflow-gpu | <adf095206f25471e864a8e63a0f1caef53a0e3a6||>=2.3.0,<2.3.1 | adf095206f25471e864a8e63a0f1caef53a0e3a6 |
| PyPI | tensorflow-cpu | <adf095206f25471e864a8e63a0f1caef53a0e3a6||>=2.3.0,<2.3.1 | adf095206f25471e864a8e63a0f1caef53a0e3a6 |
| PyPI | tensorflow | <adf095206f25471e864a8e63a0f1caef53a0e3a6||>=2.3.0,<2.3.1 | adf095206f25471e864a8e63a0f1caef53a0e3a6 |
References
- https://github.com/tensorflow/tensorflow/security/advisories/GHSA-w5gh-2wr2-pm6g
- https://nvd.nist.gov/vuln/detail/CVE-2020-15206
- https://github.com/tensorflow/tensorflow/commit/adf095206f25471e864a8e63a0f1caef53a0e3a6
- https://github.com/tensorflow/tensorflow/commit/f760f88b4267d981e13f4b302c437ae800445968
- https://github.com/tensorflow/tensorflow/commit/fcfef195637c6e365577829c4d67681695956e7d
- https://github.com/pypa/advisory-database/tree/main/vulns/tensorflow-cpu/PYSEC-2020-286.yaml
- https://github.com/pypa/advisory-database/tree/main/vulns/tensorflow-gpu/PYSEC-2020-321.yaml
- https://github.com/pypa/advisory-database/tree/main/vulns/tensorflow/PYSEC-2020-129.yaml
- https://github.com/tensorflow/tensorflow
- https://github.com/tensorflow/tensorflow/releases/tag/v2.3.1
- http://lists.opensuse.org/opensuse-security-announce/2020-10/msg00065.html
- https://security-tracker.debian.org/tracker/CVE-2020-15206
Verify integrity in audit chain (admin only). AS-IS.