CVE-2023-25675High· 7.5▾ TwilightTensorFlow has Segfault in Bincount with XLA
▾ Twilight zone — High severity, or a signal on a lesser flaw
impact 41.3 · likelihood 0.1 · exploitation 0
Need a working PoC? Pro members can cast a request and our team develops one — it lands right here.
Exploit-prediction probability, daily snapshots since Jul 8.
Disclosure to exploitation, from the record and what we observed since indexing it.
Disclosed via OSV
0.4%
0.4% → 0.4%
Last analysed / modified upstream
When running with XLA, tf.raw_ops.Bincount segfaults when given a parameter weights that is neither the same shape as parameter arr nor a length-0 tensor.
import tensorflow as tf
func = tf.raw_ops.Bincount
para={'arr': 6, 'size': 804, 'weights': [52, 351]}
@tf.function(jit_compile=True)
def fuzz_jit():
y = func(**para)
return y
print(fuzz_jit())
We have patched the issue in GitHub commit 8ae76cf085f4be26295d2ecf2081e759e04b8acf.
The fix will be included in TensorFlow 2.12. We will also cherrypick this commit on TensorFlow 2.11.1.
Please consult our security guide for more information regarding the security model and how to contact us with issues and questions.
This vulnerability has been reported by r3pwnx of 360 AIVul Team
tensorflow < 2.11.1tensorflow-cpu < 2.11.1tensorflow-gpu < 2.11.1Upgrade to a patched release:
tensorflow 2.11.1tensorflow-cpu 2.11.1tensorflow-gpu 2.11.1Connected by shared product, vendor, weakness, or advisory.
CVE-2021-29541Low· 2.5Null pointer dereference in `StringNGrams`
CVE-2021-29525Low· 2.5Division by 0 in `Conv2DBackpropInput`
CVE-2021-29527Low· 2.5Division by 0 in `QuantizedConv2D`
CVE-2021-29524Low· 2.5Division by 0 in `Conv2DBackpropFilter`
CVE-2020-15207High· 8.7Segfault and data corruption in tensorflow-lite
CVE-2021-29535Low· 2.5Heap buffer overflow in `QuantizedMul`