Miggo Logo

CVE-2022-23571: Reachable Assertion in Tensorflow

6.5

CVSS Score
3.1

Basic Information

EPSS Score
0.30572%
Published
2/9/2022
Updated
11/13/2024
KEV Status
No
Technology
TechnologyPython

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Package NameEcosystemVulnerable VersionsFirst Patched Version
tensorflowpip< 2.5.32.5.3
tensorflowpip>= 2.6.0, < 2.6.32.6.3
tensorflowpip= 2.7.02.7.1
tensorflow-cpupip< 2.5.32.5.3
tensorflow-cpupip>= 2.6.0, < 2.6.32.6.3
tensorflow-cpupip= 2.7.02.7.1
tensorflow-gpupip< 2.5.32.5.3
tensorflow-gpupip>= 2.6.0, < 2.6.32.6.3
tensorflow-gpupip= 2.7.02.7.1

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from insufficient validation in the tensor deserialization path. The commit 5b491cd5e41ad63735161cec9c2a568172c8b6a3 adds validation for proto.dtype() in the else-clause handling empty/invalid-shaped tensors, which was previously missing. The Tensor::FromProto function in tensor.cc is the core deserialization routine where this validation gap existed, making it the clear vulnerable entry point. The direct correlation between the vulnerability description (invalid dtype+shape causing assertion failures) and the patched code location confirms this assessment.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

### Imp**t W**n ***o*in* * t*nsor *rom proto*u*, * T*nsor*low pro**ss **n *n*ount*r **s*s w**r* * `****K` *ss*rtion is inv*li**t** **s** on us*r *ontroll** *r*um*nts, i* t** t*nsors **v* *n inv*li* `*typ*` *n* * *l*m*nts or *n inv*li* s**p*. T*is *ll

Reasoning

T** vuln*r**ility st*ms *rom insu**i*i*nt v*li**tion in t** t*nsor **s*ri*liz*tion p*t*. T** *ommit **************************************** ***s v*li**tion *or `proto.*typ*()` in t** *ls*-*l*us* **n*lin* *mpty/inv*li*-s**p** t*nsors, w*i** w*s pr*vi