CVE-2022-29216 json
Code injection in `saved_model_cli` in TensorFlow
published 2022-05-20 4 y ago modified 2026-09-08 2 mo ago also BIT-tensorflow-2022-29216 , EUVD-2022-2924 , GHSA-75c9-jrh4-79mc , PYSEC-2026-3125 , PYSEC-2026-3289 , PYSEC-2026-963
- cvss
- 7.8
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.5%
- EPSS 0.5% chance of exploitation in 30 days, percentile 46%
- public exploits
- 0
- none known
Summary
TensorFlow is an open source platform for machine learning. Prior to versions 2.9.0, 2.8.1, 2.7.2, and 2.6.4, TensorFlow's `saved_model_cli` tool is vulnerable to a code injection. This can be used to open a reverse shell. This code path was maintained for compatibility reasons as the maintainers had several test cases where numpy expressions were used as arguments. However, given that the tool is always run manually, the impact of this is still not severe. The maintainers have now removed the `safe=False` argument, so all parsing is done without calling `eval`. The patch is available in versions 2.9.0, 2.8.1, 2.7.2, and 2.6.4.
Patch / fix
- pypi tensorflow 2.6.4, 2.7.2, 2.8.1
- pypi tensorflow-cpu 2.6.4, 2.7.2, 2.8.1
- pypi tensorflow-gpu 2.6.4, 2.7.2, 2.8.1
- bitnami tensorflow 2.6.4, 2.7.2, 2.8.1
- google tensorflow 2.6.4, 2.7.2
- github.com/tensorflow/tensorflow@8b202f0 commit
- github.com/tensorflow/tensorflow@c5da7af commit
- github.com/tensorflow/tensorflow/releases/tag/v2.6.4 release
- github.com/tensorflow/tensorflow/releases/tag/v2.7.2 release
- github.com/tensorflow/tensorflow/releases/tag/v2.8.1 release
- github.com/tensorflow/tensorflow/releases/tag/v2.9.0 release
- github.com/tensorflow/tensorflow/security/advisories/GHSA-75c9-jrh4-7… advisory
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- total
- Assessed
- 18 mo ago
Exploit prediction
0.55% chance of exploitation in the next 30 days, higher than 46% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/tensorflow/tensorflow/security/advisories/GHSA-75c9-jrh4-79mc referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.8 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| GitHub | 3.1 | 7.8 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| NVD | 3.1 | 7.8 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| NVD | 2.0 | 4.6 | AV:L/AC:L/Au:N/C:P/I:P/A:P |
| OSV | 3.1 | 7.8 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | tensorflow | <2.6.4 >=2.7.0, <2.7.2 >=2.8.0, <2.8.1 |
2.6.4 2.7.2 2.8.1 |
| pypi | tensorflow-cpu | <2.6.4 >=2.7.0, <2.7.2 >=2.8.0, <2.8.1 |
2.6.4 2.7.2 2.8.1 |
| pypi | tensorflow-gpu | <2.6.4 >=2.7.0, <2.7.2 >=2.8.0, <2.8.1 |
2.6.4 2.7.2 2.8.1 |
| bitnami | tensorflow | <2.6.4 >=2.7.0, <2.7.2 >=2.8.0, <2.8.1 |
2.6.4 2.7.2 2.8.1 |
Affected products
- tensorflow tensorflow
Classification
- Weakness
-
- CWE-94 Improper Control of Generation of Code
References
-
github.com
/tensorflow/tensorflow/commit/8b202f08d52e8206af2bdb2112a62fafbc546ec7
web, patch, third-party-advisory, advisory
-
github.com
/tensorflow/tensorflow/commit/c5da7af048611aa29e9382371f0aed5018516cac
web, patch, third-party-advisory, advisory
-
github.com
/tensorflow/tensorflow/security/advisories/GHSA-75c9-jrh4-79mc
web, exploit, patch, third-party-advisory, advisory
-
github.com
/tensorflow/tensorflow/releases/tag/v2.6.4
web, release-notes, third-party-advisory, advisory
-
github.com
/tensorflow/tensorflow/releases/tag/v2.7.2
web, release-notes, third-party-advisory, advisory
-
github.com
/tensorflow/tensorflow/releases/tag/v2.8.1
web, release-notes, third-party-advisory, advisory
-
github.com
/tensorflow/tensorflow/releases/tag/v2.9.0
web, release-notes, third-party-advisory, advisory
-
github.com
/tensorflow/tensorflow/blob/f3b9bf4c3c0597563b289c0512e98d4ce81f886e/tensorflow/python/tools/saved_model_cli.p
web, third-party-advisory, advisory
-
nvd.nist.gov
/vuln/detail/CVE-2022-29216
advisory, web
-
github.com
/tensorflow/tensorflow
package
-
pypi.org
/project/tensorflow
package
-
github.com
/advisories/GHSA-75c9-jrh4-79mc
advisory
-
pypi.org
/project/tensorflow-cpu
package
-
pypi.org
/project/tensorflow-gpu
package
Sources
- CVE List CVE-2022-29216
- GitHub Advisory GHSA-75c9-jrh4-79mc
- NVD CVE-2022-29216
- OSV BIT-tensorflow-2022-29216
- OSV PYSEC-2026-3125
- OSV PYSEC-2026-3289
- OSV PYSEC-2026-963
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.