GHSA-cqvq-fvhr-v6hc `CHECK` failure in `SobolSample` via missing validation
A missing validation in TensorFlow's SobolSample operation allows attackers to cause a denial of service via crafted inputs.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Not stated
- Victim action needed
- Not needed
- Fix
- Available
What is GHSA-cqvq-fvhr-v6hc?
GHSA-cqvq-fvhr-v6hc is a denial of service vulnerability in tensorflow, published on 21 Nov 2022.
Official description
Impact
Another instance of CVE-2022-35935, where SobolSample is vulnerable to a denial of service via assumed scalar inputs, was found and fixed.
import tensorflow as tf
tf.raw_ops.SobolSample(dim=tf.constant([1,0]), num_results=tf.constant([1]), skip=tf.constant([1]))
Patches
We have patched the issue in GitHub commits c65c67f88ad770662e8f191269a907bf2b94b1bf and 02400ea266bd811fc016a848445de1bbff3a23a0
The fix will be included in TensorFlow 2.11. We will also cherrypick both commits on TensorFlow 2.10.1, 2.9.3, and TensorFlow 2.8.4, as these are also affected and still in supported range. TensorFlow 2.7.4 will have the first commit cherrypicked.
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 by:
- Kang Hong Jin from Singapore Management University
- Neophytos Christou, Secure Systems Labs, Brown University
- 刘力源, Information System & Security and Countermeasures Experiments Center, Beijing Institute of Technology
- Pattarakrit Rattankul
Which versions are affected by GHSA-cqvq-fvhr-v6hc?
18 open source packages ship an affected version, including tensorflow, tensorflow-cpu and tensorflow-gpu.
| Package | Affected | Fixed in |
|---|---|---|
tensorflow PyPI | All versions | 2.8.4 |
tensorflow PyPI | All versions | 2.8.4 |
tensorflow PyPI | From 2.10.0 | 2.10.1 |
tensorflow PyPI | From 2.10.0 | 2.10.1 |
tensorflow PyPI | From 2.9.0 | 2.9.3 |
tensorflow PyPI | From 2.9.0 | 2.9.3 |
12 more packages
tensorflow-cpu PyPI | All versions | 2.8.4 |
tensorflow-cpu PyPI | All versions | 2.8.4 |
tensorflow-cpu PyPI | From 2.10.0 | 2.10.1 |
tensorflow-cpu PyPI | From 2.10.0 | 2.10.1 |
tensorflow-cpu PyPI | From 2.9.0 | 2.9.3 |
tensorflow-cpu PyPI | From 2.9.0 | 2.9.3 |
tensorflow-gpu PyPI | All versions | 2.8.4 |
tensorflow-gpu PyPI | All versions | 2.8.4 |
tensorflow-gpu PyPI | From 2.10.0 | 2.10.1 |
tensorflow-gpu PyPI | From 2.10.0 | 2.10.1 |
tensorflow-gpu PyPI | From 2.9.0 | 2.9.3 |
tensorflow-gpu PyPI | From 2.9.0 | 2.9.3 |
How do I fix GHSA-cqvq-fvhr-v6hc?
Upgrade tensorflow to a fixed version for your release line: 2.8.4, 2.10.1 or 2.9.3.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is GHSA-cqvq-fvhr-v6hc being exploited?
There is no known exploitation of GHSA-cqvq-fvhr-v6hc in the wild and no public exploit code.