GitHub Advisoryadvisory · PyPI

GHSA-43q8-3fv7-pr5x Improper Validation of Integrity Check Value in TensorFlow

HIGH Published 2022-02-09 Modified 2022-02-03 Official page ↗
Ecosystem
PyPI
Packages
tensorflow, tensorflow-cpu, tensorflow-gpu
Severity
High
CVSS vector
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Weaknesses
CWE-354
Reviewed
2022-02-03

Affected packages

• PyPI tensorflow: < 2.5.3 → fixed in 2.5.3 • PyPI tensorflow: >= 2.6.0, < 2.6.3 → fixed in 2.6.3 • PyPI tensorflow: >= 2.7.0, < 2.7.1 → fixed in 2.7.1 • PyPI tensorflow-cpu: < 2.5.3 → fixed in 2.5.3 • PyPI tensorflow-cpu: >= 2.6.0, < 2.6.3 → fixed in 2.6.3 • PyPI tensorflow-cpu: >= 2.7.0, < 2.7.1 → fixed in 2.7.1 • PyPI tensorflow-gpu: < 2.5.3 → fixed in 2.5.3 • PyPI tensorflow-gpu: >= 2.6.0, < 2.6.3 → fixed in 2.6.3 • PyPI tensorflow-gpu: >= 2.7.0, < 2.7.1 → fixed in 2.7.1

Description

Impact The implementation of `tf.sparse.split` does not fully validate the input arguments. Hence, a malicious user can trigger a denial of service via a segfault or a heap OOB read: ```python import tensorflow as tf data = tf.random.uniform([1, 32, 32], dtype=tf.float32) axis = [1, 2] x = tf.sparse.from_dense(data) result = tf.sparse.split(x,3, axis=axis) ``` The code assumes `axis` is a scalar. This is another instance of TFSA-2021-190 (CVE-2021-41206). Patches We have patched the issue in GitHub commit 61bf91e768173b001d56923600b40d9a95a04ad5 (merging #53695). The fix will be included in TensorFlow 2.8.0. We will also cherrypick this commit on TensorFlow 2.7.1, TensorFlow 2.6.3, and TensorFlow 2.5.3, as these are also affected and still in supported range. For more information Please consult our security guide for more information regarding the security model and how to contact us with issues and questions. Attribution This vulnerability has been reported externally via a GitHub issue.

Related

Weakness · CWE (1)

  • CWE-354 Improper Validation of Integrity Check Value weakness

References