CVE-2026-55832 json
Tract: Arbitrary file read via unsanitized ONNX external_data `location` (path traversal) on model load in tract-onnx
published 2026-06-19 4 mo ago modified 2026-09-30 39 d ago also GHSA-h668-6x6g-f8r5 , EUVD-2026-77721
- cvss
- 6.1
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 9%
- public exploits
- 0
- none known
Summary
Tract is a tiny, no-nonsense, self-contained TensorFlow and ONNX inference toolkit. Prior to 0.21.17, 0.22.3, and 0.23.2, the tract-onnx crate passes the attacker-controlled external_data location from an ONNX model through onnx/src/tensor.rs get_external_resources and joins the value to the model directory without rejecting absolute paths or parent directory components. Loading an untrusted model through model_for_path can therefore make onnx/src/data_resolver.rs MmapDataResolver open an arbitrary local file and place the file contents into model tensors or inference output. Attacker-controlled offset and length fields can also select an out-of-range mapping slice and cause a denial of service, but the flaw does not write files or execute code. This issue is fixed in versions 0.21.17, 0.22.3, and 0.23.2.
Patch / fix
- crates.io tract-onnx 0.21.17, 0.22.3, 0.23.2
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 55 d ago
Exploit prediction
0.19% chance of exploitation in the next 30 days, higher than 9% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/sonos/tract/security/advisories/GHSA-h668-6x6g-f8r5 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 6.1 | CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:L |
| GitHub | 3.1 | 6.1 | CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:L |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| crates.io | tract-onnx | <0.21.17 >=0.22.0, <0.22.3 >=0.23.0, <0.23.2 |
0.21.17 0.22.3 0.23.2 |
Affected products
- sonos tract
Classification
- Weakness
-
- CWE-22 Improper Limitation of a Pathname to a Restricted Directory
References
- github.com /sonos/tract/commit/5f994bcf3cec9b343830a975fedce177f9190d0f
- github.com /sonos/tract/commit/85f4fac23e43d417782e8ed9f9465be8474f5c98
- github.com /sonos/tract/commit/8fdacbd7abe4e6f929cadfe52e7f69e2227c0632
-
github.com
/sonos/tract/security/advisories/GHSA-h668-6x6g-f8r5
exploit, web
- github.com /sonos/tract/releases/tag/0.21.17
- github.com /sonos/tract/releases/tag/0.22.3
- github.com /sonos/tract/releases/tag/v0.23.2
-
github.com
/sonos/tract
package
Sources
- CVE List CVE-2026-55832
- GitHub Advisory GHSA-h668-6x6g-f8r5
- NVD CVE-2026-55832
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.