VDB
Sign up
—

PYSEC-2021-158

Quick fix

PYSEC-2021-158 — tensorflow: upgrade to the fixed version with the command below.

pip install --upgrade 'tensorflow>=c57c0b9f3a4f8684f3489dd9a9ec627ad8b599f5'

Details

TensorFlow is an end-to-end open source platform for machine learning. Specifying a negative dense shape in `tf.raw_ops.SparseCountSparseOutput` results in a segmentation fault being thrown out from the standard library as `std::vector` invariants are broken. This is because the implementation(https://github.com/tensorflow/tensorflow/blob/8f7b60ee8c0206a2c99802e3a4d1bb55d2bc0624/tensorflow/core/kernels/count_ops.cc#L199-L213) assumes the first element of the dense shape is always positive and uses it to initialize a `BatchedMap<T>` (i.e., `std::vector<absl::flat_hash_map<int64,T>>`(https://github.com/tensorflow/tensorflow/blob/8f7b60ee8c0206a2c99802e3a4d1bb55d2bc0624/tensorflow/core/kernels/count_ops.cc#L27)) data structure. If the `shape` tensor has more than one element, `num_batches` is the first value in `shape`. Ensuring that the `dense_shape` argument is a valid tensor shape (that is, all elements are non-negative) solves this issue. The fix will be included in TensorFlow 2.5.0. We will also cherrypick this commit on TensorFlow 2.4.2 and TensorFlow 2.3.3.

Are you affected?

Enter the version of the package you're using.

Affected packages

PyPI/tensorflow
Introduced in: 0Fixed in: c57c0b9f3a4f8684f3489dd9a9ec627ad8b599f5
Fixpip install --upgrade 'tensorflow>=c57c0b9f3a4f8684f3489dd9a9ec627ad8b599f5'

References