CVE-2022-29205: Segfault due to missing support for quantized types
5.5
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.1528%
CWE
Published
5/24/2022
Updated
1/27/2023
KEV Status
No
Technology
Python
Technical Details
CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
tensorflow | pip | < 2.6.4 | 2.6.4 |
tensorflow | pip | >= 2.7.0, < 2.7.2 | 2.7.2 |
tensorflow | pip | >= 2.8.0, < 2.8.1 | 2.8.1 |
tensorflow-cpu | pip | < 2.6.4 | 2.6.4 |
tensorflow-cpu | pip | >= 2.7.0, < 2.7.2 | 2.7.2 |
tensorflow-cpu | pip | >= 2.8.0, < 2.8.1 | 2.8.1 |
tensorflow-gpu | pip | < 2.6.4 | 2.6.4 |
tensorflow-gpu | pip | >= 2.7.0, < 2.7.2 | 2.7.2 |
tensorflow-gpu | pip | >= 2.8.0, < 2.8.1 | 2.8.1 |
Vulnerability Intelligence
Miggo AI
Root 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.