Miggo Logo

CVE-2022-35973: TensorFlow vulnerable to segfault in `QuantizedMatMul`

5.9

CVSS Score
3.1

Basic Information

EPSS Score
0.4168%
Published
9/16/2022
Updated
1/28/2023
KEV Status
No
Technology
TechnologyPython

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
Package NameEcosystemVulnerable VersionsFirst Patched Version
tensorflowpip< 2.7.22.7.2
tensorflowpip>= 2.8.0, < 2.8.12.8.1
tensorflowpip>= 2.9.0, < 2.9.12.9.1
tensorflow-cpupip< 2.7.22.7.2
tensorflow-cpupip>= 2.8.0, < 2.8.12.8.1
tensorflow-cpupip>= 2.9.0, < 2.9.12.9.1
tensorflow-gpupip< 2.7.22.7.2
tensorflow-gpupip>= 2.8.0, < 2.8.12.8.1
tensorflow-gpupip>= 2.9.0, < 2.9.12.9.1

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from missing input validation in QuantizedMatMulOp.Compute method. The commit diff shows added OP_REQUIRES checks to enforce scalar inputs for min/max parameters, confirming the original implementation lacked these critical validations. The provided PoC demonstrates non-scalar inputs crashing unpatched versions, directly implicating this function.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

### Imp**t I* `Qu*ntiz**M*tMul` is *iv*n nons**l*r input *or: - `min_*` - `m*x_*` - `min_*` - `m*x_*` It *iv*s * s****ult t**t **n ** us** to tri***r * **ni*l o* s*rvi** *tt**k. ```pyt*on import t*nsor*low *s t* Toutput = t*.qint** tr*nspos*_* =

Reasoning

T** vuln*r**ility st*ms *rom missin* input v*li**tion in `Qu*ntiz**M*tMulOp.*omput*` m*t*o*. T** *ommit *i** s*ows ***** `OP_R*QUIR*S` ****ks to *n*or** s**l*r inputs *or min/m*x p*r*m*t*rs, *on*irmin* t** ori*in*l impl*m*nt*tion l**k** t**s* *riti**