CVE-2020-26269
Description
In TensorFlow release candidate versions 2.4.0rc*, the general implementation for matching filesystem paths to globbing pattern is vulnerable to an access out of bounds of the array holding the directories. There are multiple invariants and preconditions that are assumed by the parallel implementation of GetMatchingPaths but are not verified by the PRs introducing it (#40861 and #44310). Thus, we are completely rewriting the implementation to fully specify and validate these. This is patched in version 2.4.0. This issue only impacts master branch and the release candidates for TF version 2.4. The final release of the 2.4 release will be patched.
Predictions
Heuristic predictions, AS-IS, for prioritization only.
Mitigations
Vendor advisory: debian — https://security-tracker.debian.org/tracker/CVE-2020-26269
Vendor advisory: arch — https://security.archlinux.org/ASA-202012-22
OS impact
| OS | Version | Status | Fixed in |
|---|---|---|---|
| arch | fixed | 2.4.0-1 | |
| debian | forky | fixed | 0 |
| debian | sid | fixed | 0 |
Package impact
| Ecosystem | Package | Vulnerable | Fixed |
|---|---|---|---|
| PyPI | tensorflow | >=2.4.0rc0,<2.4.0 | 2.4.0 |
| PyPI | tensorflow-cpu | >=2.4.0rc0,<2.4.0 | 2.4.0 |
| PyPI | tensorflow-gpu | >=2.4.0rc0,<2.4.0 | 2.4.0 |
| PyPI | tensorflow | <8b5b9dc96666a3a5d27fad7179ff215e3b74b67c||>=2.4.0rc0,<2.4.0 | 8b5b9dc96666a3a5d27fad7179ff215e3b74b67c |
| PyPI | tensorflow-gpu | <8b5b9dc96666a3a5d27fad7179ff215e3b74b67c||>=2.4.0rc0,<2.4.0 | 8b5b9dc96666a3a5d27fad7179ff215e3b74b67c |
| PyPI | tensorflow-cpu | <8b5b9dc96666a3a5d27fad7179ff215e3b74b67c||>=2.4.0rc0,<2.4.0 | 8b5b9dc96666a3a5d27fad7179ff215e3b74b67c |
References
- https://security.archlinux.org/ASA-202012-22
- https://github.com/tensorflow/tensorflow/security/advisories/GHSA-9jjw-hf72-3mxw
- https://nvd.nist.gov/vuln/detail/CVE-2020-26269
- https://github.com/tensorflow/tensorflow/pull/40861
- https://github.com/tensorflow/tensorflow/pull/44310
- https://github.com/tensorflow/tensorflow/commit/8b5b9dc96666a3a5d27fad7179ff215e3b74b67c
- https://github.com/pypa/advisory-database/tree/main/vulns/tensorflow-cpu/PYSEC-2020-300.yaml
- https://github.com/pypa/advisory-database/tree/main/vulns/tensorflow-gpu/PYSEC-2020-335.yaml
- https://github.com/pypa/advisory-database/tree/main/vulns/tensorflow/PYSEC-2020-141.yaml
- https://github.com/tensorflow/tensorflow
- https://github.com/tensorflow/tensorflow/blob/458c6260265c46ebaf18052d6c61aea4b6b40926/tensorflow/core/platform/file_system_helper.cc#L106
- https://github.com/tensorflow/tensorflow/blob/458c6260265c46ebaf18052d6c61aea4b6b40926/tensorflow/core/platform/file_system_helper.cc#L127
- https://security-tracker.debian.org/tracker/CVE-2020-26269
Verify integrity in audit chain (admin only). AS-IS.