CVE-2022-35981: TensorFlow vulnerable to `CHECK` fail in `FractionalMaxPoolGrad`
5.9
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.42671%
CWE
Published
9/16/2022
Updated
1/28/2023
KEV Status
No
Technology
Python
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| tensorflow | pip | < 2.7.2 | 2.7.2 |
| tensorflow | pip | >= 2.8.0, < 2.8.1 | 2.8.1 |
| tensorflow | pip | >= 2.9.0, < 2.9.1 | 2.9.1 |
| tensorflow-cpu | pip | < 2.7.2 | 2.7.2 |
| tensorflow-cpu | pip | >= 2.8.0, < 2.8.1 | 2.8.1 |
| tensorflow-cpu | pip | >= 2.9.0, < 2.9.1 | 2.9.1 |
| tensorflow-gpu | pip | < 2.7.2 | 2.7.2 |
| tensorflow-gpu | pip | >= 2.8.0, < 2.8.1 | 2.8.1 |
| tensorflow-gpu | pip | >= 2.9.0, < 2.9.1 | 2.9.1 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from two specific checks in FractionalMaxPoolGradOp's Compute method:
- A DCHECK_EQ comparing tensor_out_dup_mat and tensor_out_mat values
- A CHECK validating input_backprop_index range
These were replaced in the patch with OP_REQUIRES context checks that return proper errors instead of crashing. The commit diff clearly shows these security-critical validations were previously implemented as fatal CHECK/DCHECK assertions rather than recoverable errors, matching the vulnerability description of using CHECK failures for input validation.