Miggo Logo

CVE-2022-29205: Segfault due to missing support for quantized types

5.5

CVSS Score
3.1

Basic Information

EPSS Score
0.1528%
Published
5/24/2022
Updated
1/27/2023
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.42.6.4
tensorflowpip>= 2.7.0, < 2.7.22.7.2
tensorflowpip>= 2.8.0, < 2.8.12.8.1
tensorflow-cpupip< 2.6.42.6.4
tensorflow-cpupip>= 2.7.0, < 2.7.22.7.2
tensorflow-cpupip>= 2.8.0, < 2.8.12.8.1
tensorflow-gpupip< 2.6.42.6.4
tensorflow-gpupip>= 2.7.0, < 2.7.22.7.2
tensorflow-gpupip>= 2.8.0, < 2.8.12.8.1

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stemmed from two key issues: (1) Missing kernel registrations for quantized types in StridedSlice operations (evidenced by the commit adding TF_CALL_QUANTIZED_TYPES to strided_slice_op.cc/impl.h), and (2) insufficient null-checking in ParseDimensionValue when handling shape extraction. The StridedSliceOp and StridedSliceAssignOp were vulnerable due to lacking quantized type support, leading to nullptr kernel returns. ParseDimensionValue became a crash vector when it received this nullptr due to the missing kernel. The commit patched both the kernel registration and null-checking aspects.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

### Imp**t T**r* is * pot*nti*l *or s****ult / **ni*l o* s*rvi** in T*nsor*low *y **llin* `t*.*omp*t.v*.*` ops w*i** *on't y*t **v* support *or qu*ntiz** typ*s (***** **t*r mi*r*tion to T* *.x): ```pyt*on import numpy *s np import t*nsor*low *s t*

Reasoning

T** vuln*r**ility st*mm** *rom two k*y issu*s: (*) Missin* k*rn*l r**istr*tions *or qu*ntiz** typ*s in Stri***Sli** op*r*tions (*vi**n*** *y t** *ommit ***in* T*_**LL_QU*NTIZ**_TYP*S to stri***_sli**_op.**/impl.*), *n* (*) insu**i*i*nt null-****kin*