TensorFlow 2.10/2.11 FractionalPool Illegal pooling_ratio Heap Overflow
CVE-2022-41900 Published on November 18, 2022

FractionalMaxPool and FractionalAVGPool heap out-of-bounds acess in Tensorflow
TensorFlow is an open source platform for machine learning. The security vulnerability results in FractionalMax(AVG)Pool with illegal pooling_ratio. Attackers using Tensorflow can exploit the vulnerability. They can access heap memory which is not in the control of user, leading to a crash or remote code execution. We have patched the issue in GitHub commit 216525144ee7c910296f5b05d214ca1327c9ce48. The fix will be included in TensorFlow 2.11.0. We will also cherry pick this commit on TensorFlow 2.10.1.

Github Repository NVD

Vulnerability Analysis

CVE-2022-41900 is exploitable with network access, requires user interaction and a small amount of user privileges. This vulnerability is consided to have a high level of attack complexity. Public availability of a proof of concept (POC) exploit exists for CVE-2022-41900. The potential impact of an exploit of this vulnerability is considered to be very high.

Attack Vector:
NETWORK
Attack Complexity:
HIGH
Privileges Required:
LOW
User Interaction:
REQUIRED
Scope:
UNCHANGED
Confidentiality Impact:
HIGH
Integrity Impact:
HIGH
Availability Impact:
HIGH

Weakness Types

What is a Memory Corruption Vulnerability?

The software writes data past the end, or before the beginning, of the intended buffer. Typically, this can result in corruption of data, a crash, or code execution. The software may modify an index or perform pointer arithmetic that references a memory location that is outside of the boundaries of the buffer. A subsequent write operation then produces undefined or unexpected results.

CVE-2022-41900 has been classified to as a Memory Corruption vulnerability or weakness.

Out-of-bounds Read

The software reads data past the end, or before the beginning, of the intended buffer. Typically, this can allow attackers to read sensitive information from other memory locations or cause a crash. A crash can occur when the code reads a variable amount of data and assumes that a sentinel exists to stop the read operation, such as a NUL in a string. The expected sentinel might not be located in the out-of-bounds memory, causing excessive data to be read, leading to a segmentation fault or a buffer overflow. The software may modify an index or perform pointer arithmetic that references a memory location that is outside of the boundaries of the buffer. A subsequent read operation then produces undefined or unexpected results.


Products Associated with CVE-2022-41900

Want to know whenever a new CVE is published for Google Tensorflow? stack.watch will email you.

 

Affected Versions

tensorflow:

Vulnerable Packages

The following package name and versions may be associated with CVE-2022-41900

Package Manager Vulnerable Package Versions Fixed In
pip tensorflow < 2.8.4 2.8.4
pip tensorflow >= 2.9.0, < 2.9.3 2.9.3
pip tensorflow >= 2.10.0, < 2.10.1 2.10.1
pip tensorflow-cpu < 2.8.4 2.8.4
pip tensorflow-gpu < 2.8.4 2.8.4
pip tensorflow-cpu >= 2.9.0, < 2.9.3 2.9.3
pip tensorflow-gpu >= 2.9.0, < 2.9.3 2.9.3
pip tensorflow-cpu >= 2.10.0, < 2.10.1 2.10.1
pip tensorflow-gpu >= 2.10.0, < 2.10.1 2.10.1

Exploit Probability

EPSS
1.27%
Percentile
79.28%

EPSS (Exploit Prediction Scoring System) scores estimate the probability that a vulnerability will be exploited in the wild within the next 30 days. The percentile shows you how this score compares to all other vulnerabilities.