<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://db.gcve.eu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Sun, 04 Oct 2026 15:20:18 +0000</lastBuildDate>
    <item>
      <title>fkie_cve-2026-55832</title>
      <link>https://db.gcve.eu/vuln/fkie_cve-2026-55832</link>
      <description>&lt;p&gt;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.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;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.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/fkie_cve-2026-55832</guid>
    </item>
    <item>
      <title>GHSA-h668-6x6g-f8r5 — tract: Arbitrary file read via unsanitized ONNX external_data `location` (path traversal) on model load in tract-onnx</title>
      <link>https://db.gcve.eu/vuln/ghsa-h668-6x6g-f8r5</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; crates.io: tract-onnx&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;`tract` (the `tract-onnx` crate) resolves an ONNX tensor&amp;#39;s external-data `location` by joining it onto the model directory **without any sanitization**. Because `location` comes from the (untrusted) `.onnx` file, a malicious model can make `tract` open and read an **arbitrary local file** at load time, with the file&amp;#39;s contents flowing into the model&amp;#39;s tensors / inference output (read-only file disclosure). This is the ONNX external-data path-traversal class that the reference `onnx` library hardened over several CVEs; `tract` resolves `location` itself and was never hardened.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;In `onnx/src/tensor.rs`, `get_external_resources()` builds the path with no checks:&lt;/p&gt;
&lt;p&gt;```rust
let location = /* tensor.external_data &amp;#34;location&amp;#34; value — attacker-controlled */;
let p = PathBuf::from(path).join(location);          // no is_absolute / &amp;#34;..&amp;#34; / canonicalize / containment check
provider.read_bytes_from_path(&amp;amp;mut tensor_data, &amp;amp;p, offset, length)?;   // Mmap::map(File::open(p)) by default
```&lt;/p&gt;
&lt;p&gt;- `Path::join` with an **absolute** `location` (e.g. `/etc/passwd`) discards the base directory → `p = /etc/passwd`.
- A **relative** `../../../../etc/passwd` value is not normalized → directory traversal.
- The default `MmapDataResolver` (`onnx/src/data_resolver.rs`) then `mmap`s the file and copies `mmap[offset..offset+length]` into the tensor. `offset`/`length` are also taken from the file; an out-of-range slice **panics** (DoS).&lt;/p&gt;
&lt;p&gt;No `is_absolute`, `..`, `canonicalize`, or cont…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; crates.io: tract-onnx&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;`tract` (the `tract-onnx` crate) resolves an ONNX tensor&amp;#39;s external-data `location` by joining it onto the model directory **without any sanitization**. Because `location` comes from the (untrusted) `.onnx` file, a malicious model can make `tract` open and read an **arbitrary local file** at load time, with the file&amp;#39;s contents flowing into the model&amp;#39;s tensors / inference output (read-only file disclosure). This is the ONNX external-data path-traversal class that the reference `onnx` library hardened over several CVEs; `tract` resolves `location` itself and was never hardened.&lt;/p&gt;
&lt;p&gt;### Details&lt;/p&gt;
&lt;p&gt;In `onnx/src/tensor.rs`, `get_external_resources()` builds the path with no checks:&lt;/p&gt;
&lt;p&gt;```rust
let location = /* tensor.external_data &amp;#34;location&amp;#34; value — attacker-controlled */;
let p = PathBuf::from(path).join(location);          // no is_absolute / &amp;#34;..&amp;#34; / canonicalize / containment check
provider.read_bytes_from_path(&amp;amp;mut tensor_data, &amp;amp;p, offset, length)?;   // Mmap::map(File::open(p)) by default
```&lt;/p&gt;
&lt;p&gt;- `Path::join` with an **absolute** `location` (e.g. `/etc/passwd`) discards the base directory → `p = /etc/passwd`.
- A **relative** `../../../../etc/passwd` value is not normalized → directory traversal.
- The default `MmapDataResolver` (`onnx/src/data_resolver.rs`) then `mmap`s the file and copies `mmap[offset..offset+length]` into the tensor. `offset`/`length` are also taken from the file; an out-of-range slice **panics** (DoS).&lt;/p&gt;
&lt;p&gt;No `is_absolute`, `..`, `canonicalize`, or cont…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ghsa-h668-6x6g-f8r5</guid>
    </item>
  </channel>
</rss>
