{"id":"CVE-2026-55832","revision":"09a1ac052ac340e2990357f91da1e9f7","records":[{"revision":"09a1ac052ac340e2990357f91da1e9f7","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-55832","aliases":[],"title":"Tract: Arbitrary file read via unsanitized ONNX external_data `location` (path traversal) on model load in tract-onnx","description":"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.","state":0,"publishedAt":"2026-09-14T17:57:41.374+00:00","modifiedAt":"2026-09-14T18:12:59.928+00:00","affected":[{"ecosystem":"Vendor product","name":"tract","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"vendor\": \"sonos\",\n                    \"product\": \"tract\",\n                    \"versions\": [\n                        {\n                            \"version\": \"< 0.21.17\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \">= 0.22.0, < 0.22.3\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \">= 0.23.0, < 0.23.2\",\n                            \"status\": \"affected\"\n                        }\n                    ]\n                }"}],"metrics":[{"system":"CVSS 3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:L","score":6.1,"severity":"MEDIUM"}],"references":["https://github.com/sonos/tract/security/advisories/GHSA-h668-6x6g-f8r5","https://github.com/sonos/tract/commit/5f994bcf3cec9b343830a975fedce177f9190d0f","https://github.com/sonos/tract/commit/85f4fac23e43d417782e8ed9f9465be8474f5c98","https://github.com/sonos/tract/commit/8fdacbd7abe4e6f929cadfe52e7f69e2227c0632","https://github.com/sonos/tract/releases/tag/0.21.17","https://github.com/sonos/tract/releases/tag/0.22.3","https://github.com/sonos/tract/releases/tag/v0.23.2"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-55832","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-55832","identifiers":["CVE-2026-55832"]},"retained":false,"historicalAffected":[]}],"coverage":[]}