CVE-2022-23566: Out of bounds write in Tensorflow
8.8
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.581%
CWE
Published
2/9/2022
Updated
11/13/2024
KEV Status
No
Technology
Python
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
tensorflow | pip | < 2.5.3 | 2.5.3 |
tensorflow | pip | >= 2.6.0, < 2.6.3 | 2.6.3 |
tensorflow | pip | = 2.7.0 | 2.7.1 |
tensorflow-cpu | pip | < 2.5.3 | 2.5.3 |
tensorflow-cpu | pip | >= 2.6.0, < 2.6.3 | 2.6.3 |
tensorflow-cpu | pip | = 2.7.0 | 2.7.1 |
tensorflow-gpu | pip | < 2.5.3 | 2.5.3 |
tensorflow-gpu | pip | >= 2.6.0, < 2.6.3 | 2.6.3 |
tensorflow-gpu | pip | = 2.7.0 | 2.7.1 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability occurs because SetUnknownShape in graph_properties.cc calls set_output() without validating the output_port parameter. The patch adds explicit bounds checking for output_port against ctx->num_outputs(), confirming this was the missing safeguard. set_output() in shape_inference.h is the direct location of the OOB write operation. Both functions are integral to the vulnerability: SetUnknownShape for lacking validation, and set_output for performing the unsafe write. The high confidence comes from the explicit patch adding validation in SetUnknownShape and the documented impact of providing a write primitive.