CVE-2022-35996 json
Floating point exception in `Conv2D` in TensorFlow
published 2022-09-16 4 y ago modified 2026-09-08 2 mo ago also BIT-tensorflow-2022-35996 , EUVD-2022-6908 , GHSA-q5jv-m6qw-5g37 , PYSEC-2026-1029 , PYSEC-2026-3228 , PYSEC-2026-3361
- cvss
- 5.9
- 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 41%
- public exploits
- 0
- none known
Summary
TensorFlow is an open source platform for machine learning. If `Conv2D` is given empty `input` and the `filter` and `padding` sizes are valid, the output is all-zeros. This causes division-by-zero floating point exceptions that can be used to trigger a denial of service attack. We have patched the issue in GitHub commit 611d80db29dd7b0cfb755772c69d60ae5bca05f9. The fix will be included in TensorFlow 2.10.0. We will also cherrypick this commit on TensorFlow 2.9.1, TensorFlow 2.8.1, and TensorFlow 2.7.2, as these are also affected and still in supported range. There are no known workarounds for this issue.
Patch / fix
- pypi tensorflow 2.7.2, 2.8.1, 2.9.1
- pypi tensorflow-cpu 2.7.2, 2.8.1, 2.9.1
- pypi tensorflow-gpu 2.7.2, 2.8.1, 2.9.1
- bitnami tensorflow 2.7.2, 2.8.1, 2.9.1
- google tensorflow 2.7.2, 2.8.1, 2.9.1
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 18 mo ago
Exploit prediction
0.48% chance of exploitation in the next 30 days, higher than 41% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 5.9 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H |
| GitHub | 3.1 | 5.9 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H |
| NVD | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| OSV | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| OSV | 3.1 | 5.9 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | tensorflow | <2.7.2 >=2.8.0, <2.8.1 >=2.9.0, <2.9.1 |
2.7.2 2.8.1 2.9.1 |
| pypi | tensorflow-cpu | <2.7.2 >=2.8.0, <2.8.1 >=2.9.0, <2.9.1 |
2.7.2 2.8.1 2.9.1 |
| pypi | tensorflow-gpu | <2.7.2 >=2.8.0, <2.8.1 >=2.9.0, <2.9.1 |
2.7.2 2.8.1 2.9.1 |
| bitnami | tensorflow | <2.7.2 >=2.8.0, <2.8.1 >=2.9.0, <2.9.1 |
2.7.2 2.8.1 2.9.1 |
Affected products
- tensorflow tensorflow
Classification
- Weakness
-
- CWE-369 Divide By Zero
References
-
github.com
/tensorflow/tensorflow/commit/611d80db29dd7b0cfb755772c69d60ae5bca05f9
web, patch, third-party-advisory, advisory
-
github.com
/tensorflow/tensorflow/security/advisories/GHSA-q5jv-m6qw-5g37
web, third-party-advisory, advisory
-
nvd.nist.gov
/vuln/detail/CVE-2022-35996
advisory, web
-
github.com
/tensorflow/tensorflow
package
-
github.com
/tensorflow/tensorflow/releases/tag/v2.10.0
web
-
pypi.org
/project/tensorflow-gpu
package
-
github.com
/advisories/GHSA-q5jv-m6qw-5g37
advisory
-
pypi.org
/project/tensorflow
package
-
pypi.org
/project/tensorflow-cpu
package
Sources
- CVE List CVE-2022-35996
- GitHub Advisory GHSA-q5jv-m6qw-5g37
- NVD CVE-2022-35996
- OSV BIT-tensorflow-2022-35996
- OSV PYSEC-2026-1029
- OSV PYSEC-2026-3228
- OSV PYSEC-2026-3361
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.