CVE-2026-55093 tract-nnef: integer overflow in NNEF `.dat` tensor parser yields an out-of-bounds read on model load
An integer overflow in the NNEF tensor parser allows attackers to read adjacent memory or crash the application when loading crafted models.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Local or same network only
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2026-55093?
CVE-2026-55093 is a medium-severity vulnerability in sonos tract, published on 14 Sep 2026. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link.
Official description
Tract is a tiny, no-nonsense, self-contained TensorFlow and ONNX inference toolkit. Prior to 0.21.16, 0.22.2, and 0.23.1, tract-nnef uses unchecked usize multiplication in nnef/src/tensors.rs read_tensor for attacker-controlled tensor dimensions, the allocation size, and the reported tensor length. Loading a crafted NNEF archive through model_for_path or model_for_read reaches the default DatLoader and can make the wrapped size check accept a small allocation while data/src/tensor.rs as_slice_unchecked creates a much larger logical slice. Model construction through as_uniform can then read beyond the heap allocation and disclose adjacent data, and later access can terminate the process with a segmentation fault. The affected dense numeric tensor path does not include the independently guarded bool, String, or block-quant paths, and no out-of-bounds write or code execution was demonstrated. This issue is fixed in versions 0.21.16, 0.22.2, and 0.23.1.
Which versions are affected by CVE-2026-55093?
7 open source packages ship an affected version, including tract-nnef.
| Package | Affected | Fixed in |
|---|---|---|
tract-nnef crates.io | All versions | 0.21.16 |
tract-nnef crates.io | All versions | 0.21.16 |
tract-nnef crates.io | From 0.0.0-0 | 0.21.16, 0.22.2, 0.23.1 |
tract-nnef crates.io | From 0.22.0 | 0.22.2 |
tract-nnef crates.io | From 0.22.0 | 0.22.2 |
tract-nnef crates.io | From 0.23.0 | 0.23.1 |
1 more packages
tract-nnef crates.io | From 0.23.0 | 0.23.1 |
How do I fix CVE-2026-55093?
Upgrade tract-nnef to a fixed version for your release line: 0.21.16, 0.22.2 or 0.23.1.
Is CVE-2026-55093 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-55093 exists.
Sources
Also known as GHSA-x5mv-8wgw-29hg, RUSTSEC-2026-0217.