QID 982485
QID 982485: Python (pip) Security Update for tensorflow-gpu (GHSA-75f6-78jr-4656)
Security update has been released for tensorflow,tensorflow-cpu,tensorflow-gpu to fix the vulnerability.
Note: The preceding description block is extracted directly from the security advisory. Using automation, we have attempted to clean and format it as much as possible without introducing additional issues.
An attacker can trigger a null pointer dereference in the implementation of `tf.raw_ops.EditDistance`:
```python
import tensorflow as tf
hypothesis_indices = tf.constant([247, 247, 247], shape=[1, 3], dtype=tf.int64)
hypothesis_values = tf.constant([-9.9999], shape=[1], dtype=tf.float32)
hypothesis_shape = tf.constant([0, 0, 0], shape=[3], dtype=tf.int64)
truth_indices = tf.constant([], shape=[0, 3], dtype=tf.int64)
truth_values = tf.constant([], shape=[0], dtype=tf.float32)
truth_shape = tf.constant([0, 0, 0], shape=[3], dtype=tf.int64)
tf.raw_ops.EditDistance(
hypothesis_indices=hypothesis_indices, hypothesis_values=hypothesis_values,
hypothesis_shape=hypothesis_shape, truth_indices=truth_indices,
truth_values=truth_values, truth_shape=truth_shape, normalize=True)
```
This is because the [implementation](https://github.com/tensorflow/tensorflow/blob/79865b542f9ffdc9caeb255631f7c56f1d4b6517/tensorflow/core/kernels/edit_distance_op.cc#L103-L159) has incomplete validation of the input parameters.
In the above scenario, an attacker causes an allocation of an empty tensor for the output:
```cc
OP_REQUIRES_OK(ctx, ctx->allocate_output("output", output_shape, &output));
auto output_t = output->flat<float>();
output_t.setZero();
```
Because `output_shape` has 0 elements, the result of `output->flat<T>()` has an empty buffer, so calling `setZero` would result in a null dereference.
The fix will be included in TensorFlow 2.5.0. We will also cherrypick this commit on TensorFlow 2.4.2, TensorFlow 2.3.3, TensorFlow 2.2.3 and TensorFlow 2.1.4, as these are also affected and still in supported range.
- GHSA-75f6-78jr-4656 -
github.com/advisories/GHSA-75f6-78jr-4656
CVEs related to QID 982485
| Advisory ID | Software | Component | Link |
|---|---|---|---|
| GHSA-75f6-78jr-4656 | tensorflow |
|
|
| GHSA-75f6-78jr-4656 | tensorflow-cpu |
|
|
| GHSA-75f6-78jr-4656 | tensorflow-gpu |
|