CVE-2021-37644: `std::abort` raised from `TensorListReserve`
5.5
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.00644%
CWE
Published
8/25/2021
Updated
11/13/2024
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.3.4 | 2.3.4 |
tensorflow | pip | >= 2.4.0, < 2.4.3 | 2.4.3 |
tensorflow | pip | = 2.5.0 | 2.5.1 |
tensorflow-cpu | pip | < 2.3.4 | 2.3.4 |
tensorflow-cpu | pip | >= 2.4.0, < 2.4.3 | 2.4.3 |
tensorflow-cpu | pip | = 2.5.0 | 2.5.1 |
tensorflow-gpu | pip | < 2.3.4 | 2.3.4 |
tensorflow-gpu | pip | >= 2.4.0, < 2.4.3 | 2.4.3 |
tensorflow-gpu | pip | = 2.5.0 | 2.5.1 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from TensorListReserve's Compute method in list_kernels.cc, which lacked validation of the num_elements input parameter. The unvalidated input was passed directly to std::vector::resize(), which cannot handle negative sizes. The patch explicitly adds an OP_REQUIRES check for non-negative values, confirming this was the vulnerable code path. The function's role in processing user-controlled input and the direct call to resize() make this identification unambiguous.