Miggo Logo

CVE-2021-41217: Null pointer exception when `Exit` node is not preceded by `Enter` op

5.5

CVSS Score
3.1

Basic Information

EPSS Score
0.0271%
Published
11/10/2021
Updated
11/7/2024
KEV Status
No
Technology
TechnologyPython

Technical Details

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

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability manifests in the control flow graph construction logic where Exit node handling assumes a valid parent Enter node exists. The unpatched code in BuildControlFlowInfo's Exit node handling block (else if (IsExit(curr_node))) directly accesses parent->id() without null-checking 'parent' first. The GitHub patch adds the null-check validation at this location, confirming this as the vulnerable code path.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

### Imp**t T** [pro**ss o* *uil*in* t** *ontrol *low *r*p*](*ttps://*it*u*.*om/t*nsor*low/t*nsor*low/*lo*/****************************************/t*nsor*low/*or*/*ommon_runtim*/immut**l*_*x**utor_st*t*.**#L***-L***) *or * T*nsor*low mo**l is vuln*r*

Reasoning

T** vuln*r**ility m*ni**sts in t** *ontrol *low *r*p* *onstru*tion lo*i* w**r* *xit no** **n*lin* *ssum*s * v*li* p*r*nt *nt*r no** *xists. T** unp*t**** *o** in *uil**ontrol*lowIn*o's *xit no** **n*lin* *lo*k (*ls* i* (Is*xit(*urr_no**))) *ir**tly *