CVE-2020-26268: Write to immutable memory region in TensorFlow
4.4
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.12335%
CWE
Published
12/10/2020
Updated
10/28/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:L/A:L
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
tensorflow | pip | < 1.15.5 | 1.15.5 |
tensorflow | pip | >= 2.0.0, < 2.0.4 | 2.0.4 |
tensorflow | pip | >= 2.1.0, < 2.1.3 | 2.1.3 |
tensorflow | pip | >= 2.2.0, < 2.2.2 | 2.2.2 |
tensorflow | pip | >= 2.3.0, < 2.3.2 | 2.3.2 |
tensorflow-cpu | pip | < 1.15.5 | 1.15.5 |
tensorflow-cpu | pip | >= 2.0.0, < 2.0.4 | 2.0.4 |
tensorflow-cpu | pip | >= 2.1.0, < 2.1.3 | 2.1.3 |
tensorflow-cpu | pip | >= 2.2.0, < 2.2.2 | 2.2.2 |
tensorflow-cpu | pip | >= 2.3.0, < 2.3.2 | 2.3.2 |
tensorflow-gpu | pip | < 1.15.5 | 1.15.5 |
tensorflow-gpu | pip | >= 2.0.0, < 2.0.4 | 2.0.4 |
tensorflow-gpu | pip | >= 2.1.0, < 2.1.3 | 2.1.3 |
tensorflow-gpu | pip | >= 2.2.0, < 2.2.2 | 2.2.2 |
tensorflow-gpu | pip | >= 2.3.0, < 2.3.2 | 2.3.2 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from the MemmappedTensorAllocator
class in the ImmutableConstantOp
implementation. The class's failure to override AllocatesOpaqueHandle()
(which should return true for immutable buffers) allowed TensorFlow to incorrectly treat the memory-mapped region as writable. The patch explicitly adds this method to mark the allocator as returning opaque handles, preventing destructive writes. The file path and class are directly referenced in the commit diff and vulnerability description, confirming this as the root cause.