ONNX Untrusted Model Repository Warnings Suppressed by silent=True in onnx.hub.load() — Silent Supply-Chain Attack
## What's the issue Passing `silent=True` to `onnx.hub.load()` kills all trust warnings and user prompts. This means a model can be downloaded from any unverified GitHub repo with zero user awareness. ```python if not _verify_repo_ref(repo) and not silent: # completely skipped when silent=True print("The model repo... is not trusted") if input().lower() != "y": return None ``` On top of that, the SHA256 integrity check is useless here — it validates against a manifest that lives in the same repo the attacker controls, so the hash will always match. ## Impact Any pipeline using `hub.load()` with `silent=True` and an external repo string is silently loading whatever the repo owner ships. If that model executes arbitrary code on load, the attacker has access to the machine. ## Resolved by removing the feature ## References - [Write-up](https://github.com/ZeroXJacks/CVEs/blob/main/2026/CVE-2026-28500.md)
describes (1)
Related CVEs.
| ID | severity | exploitable | ||
|---|---|---|---|---|
| CVE-2026-28500US | critical9.1OT elevated | — | ||
Open Neural Network Exchange (ONNX) is an open standard for machine learning interoperability. In versions up to and including 1.20.1, a security control bypass exists in onnx.hub.… | ||||
references
External citations — patches, advisories, analysis.
- https://github.com/ZeroXJacks/CVEs/blob/main/2026/CVE-2026-28500.mdWEB
- https://github.com/onnx/onnxPACKAGE
- https://github.com/onnx/onnx/security/advisories/GHSA-hqmj-h5c6-369mWEB
- https://github.com/pypa/advisory-database/tree/main/vulns/onnx/PYSEC-2026-103.yamlWEB
- https://nvd.nist.gov/vuln/detail/CVE-2026-28500ADVISORY
Advisories like this name the exposed products attackers go after on your perimeter. See what is exposed on your perimeter with a free passive scan.
Free scan