Miggo Logo

CVE-2022-36013:
TensorFlow vulnerable to null-dereference in `mlir::tfg::GraphDefImporter::ConvertNodeDef`

5.9

CVSS Score
3.1

Basic Information

EPSS Score
0.51945%
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 directly from ConvertNodeDef's failure to validate() node.op() emptiness before use. The patch adds an explicit check for node.op().empty(), confirming this was the missing safeguard. The function's critical role in NodeDef conversion and the crash scenario described in CVE-2022-36013/GHSA-828c-5j5q-vrjq directly implicate this function. No other functions in the provided context show similar unvalidated op name usage.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

### Imp**t W**n [`mlir::t**::*r*p****Import*r::*onv*rtNo*****`](*ttps://*it*u*.*om/t*nsor*low/t*nsor*low/*lo*/m*st*r/t*nsor*low/*or*/ir/import*xport/*r*p****_import.**) tri*s to *onv*rt No*****s wit*out *n op n*m*, it *r*s**s. ```*pp St*tus *r*p****I

Reasoning

T** vuln*r**ility st*ms *ir**tly *rom `*onv*rtNo*****`'s **ilur* to `v*li**t*()` `no**.op()` *mptin*ss ***or* us*. T** p*t** ***s *n *xpli*it ****k *or `no**.op().*mpty()`, *on*irmin* t*is w*s t** missin* s****u*r*. T** *un*tion's *riti**l rol* in `N