Database/AI/ML frameworks & serving
tract: ONNX external_data path is not sanitised, so loading a model reads arbitrary local files
Impact
get_external_resources joins the attacker-controlled external_data location to the model directory without rejecting absolute paths or .. components, so MmapDataResolver will mmap any file the serving process can read and place its contents into model tensors or inference output. A tenant that can submit an ONNX model to an inference service therefore gets a file-read primitive with the privileges of the model server - service account tokens, API keys, other tenants' model weights on shared storage - and the data comes back through ordinary inference results, which makes it unlikely to look like an attack in logs. Attacker-controlled offset and length can also select an out-of-range mapping and crash the process. The flaw does not write files or execute code. This is a distinct path-traversal issue from the NNEF over-read in CVE-2026-55093 and has its own fixed versions.
Who can reach it
Anyone who can supply a model file that the process loads via model_for_path - typically a tenant uploading an ONNX model, or a pipeline pulling a model from an untrusted registry.
What to do
Upgrade tract to 0.21.17, 0.22.3 or 0.23.2, rebuild anything vendoring tract-onnx, and restart the serving process. As mitigation, reject ONNX models that declare external_data, or load untrusted models in a sandbox with no access to secrets and no other tenants' data on the filesystem.
References
Related entries
- BentoML 1.3.9 (open redirect in the serving UI): A crafted URL against the BentoML server bounces the visitor to anNCVD-2025-017-bentoml-1-3-9-open-redirect-in-t · BentoML 1.3.9 (open redirect in the serving UI)Medium
- ClearML: Passwords stored in plaintext in MongoDBCVE-2024-24595 · ClearMLMedium
- JupyterLab: authenticated users bypass administrator plugin lock rules via /lab/api/pluginsCVE-2026-73627 · JupyterLab Extension/Plugin Manager (/lab/api/plugins lock-rule enforcement)Medium
- Ray (dashboard DELETE endpoints): Browser-origin protection covers POST/PUT but not DELETECVE-2026-27482 · Ray (dashboard DELETE endpoints)Medium
- LocalAI (`/models/apply`): SSRF and partial local file inclusionCVE-2024-6095 · LocalAI (`/models/apply`)Medium
- NVIDIA NemoClaw: insufficiently protected credentials allow information disclosure and data tamperingCVE-2026-65087 · NVIDIA NemoClaw (credential storage)Medium
This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.