GHSA-g4h2-gqm3-c9wq
Segfault in tf.raw_ops.ImmutableConst
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| PyPI | tensorflow | < 2.1.4 | 2.1.4 |
| PyPI | tensorflow | >= 2.2.0, < 2.2.3 | 2.2.3 |
| PyPI | tensorflow | >= 2.3.0, < 2.3.3 | 2.3.3 |
| PyPI | tensorflow | >= 2.4.0, < 2.4.2 | 2.4.2 |
| PyPI | tensorflow-cpu | < 2.1.4 | 2.1.4 |
| PyPI | tensorflow-cpu | >= 2.2.0, < 2.2.3 | 2.2.3 |
| PyPI | tensorflow-cpu | >= 2.3.0, < 2.3.3 | 2.3.3 |
| PyPI | tensorflow-cpu | >= 2.4.0, < 2.4.2 | 2.4.2 |
| PyPI | tensorflow-gpu | < 2.1.4 | 2.1.4 |
| PyPI | tensorflow-gpu | >= 2.2.0, < 2.2.3 | 2.2.3 |
| PyPI | tensorflow-gpu | >= 2.3.0, < 2.3.3 | 2.3.3 |
| PyPI | tensorflow-gpu | >= 2.4.0, < 2.4.2 | 2.4.2 |
Details
As written in the advisory (Markdown source, shown as plain text).
### Impact
Calling [`tf.raw_ops.ImmutableConst`](https://www.tensorflow.org/api_docs/python/tf/raw_ops/ImmutableConst) with a `dtype` of `tf.resource` or `tf.variant` results in a segfault in the implementation as code assumes that the tensor contents are pure scalars.
```python
>>> import tensorflow as tf
>>> tf.raw_ops.ImmutableConst(dtype=tf.resource, shape=[], memory_region_name="/tmp/test.txt")
...
Segmentation fault
```
### Patches
We have patched the issue in 4f663d4b8f0bec1b48da6fa091a7d29609980fa4 and will release TensorFlow 2.5.0 containing the patch. TensorFlow nightly packages after this commit will also have the issue resolved.
### Workarounds
If using `tf.raw_ops.ImmutableConst` in code, you can prevent the segfault by inserting a filter for the `dtype` argument.
### For more information
Please consult [our security guide](https://github.com/tensorflow/tensorflow/blob/master/SECURITY.md) for more information regarding the security model and how to contact us with issues and questions.
References
External links from the advisory. They lead to third-party sites.
- https://github.com/tensorflow/tensorflow/security/advisories/GHSA-g4h2-gqm3-c9wq
- https://nvd.nist.gov/vuln/detail/CVE-2021-29539
- https://github.com/tensorflow/tensorflow/commit/4f663d4b8f0bec1b48da6fa091a7d29609980fa4
- https://github.com/pypa/advisory-database/tree/main/vulns/tensorflow-cpu/PYSEC-2021-467.yaml
- https://github.com/pypa/advisory-database/tree/main/vulns/tensorflow-gpu/PYSEC-2021-665.yaml
- https://github.com/pypa/advisory-database/tree/main/vulns/tensorflow/PYSEC-2021-176.yaml
- https://github.com/tensorflow/tensorflow