CVE-2026-28500: Onnx ONNX Untrusted Model Repository Warnings Vulnerability
HIGHCVE-2026-28500 is a HIGH (CVSS 8.6) onnx untrusted model repository warnings vulnerability (CWE-494: Download of Code Without Integrity Check) affecting Onnx libraries in the PyPI ecosystem. The issue involves onnx untrusted model repository warnings suppressed by silent=true in onnx.hub.load() — silent supply-chain attack. Remediation is available by upgrading affected packages to version 1.21.0rc1.
CVE-2026-28500 at a Glance
Security Impact
CVSS: 8.6
The security impact metrics below are parsed directly from the CVSS v3.1 vector string (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N).
How to Fix CVE-2026-28500
To remediate this vulnerability, upgrade all affected Onnx dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
pip install onnx>=1.21.0rc1
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
pip show onnx
How to Check if You Are Affected
To determine whether your Python environment is affected by CVE-2026-28500, inspect your installed packages using pip:
pip show onnx
Analyze the terminal output to locate any version of Onnx in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 1.21.0rc1), your application is affected.
Note: The pip show onnx command checks currently installed packages in your active Python environment.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-494: Download of Code Without Integrity Check, where the product downloads source code or an executable from a remote location and executes the code without sufficiently verifying the origin and integrity of the code. In Onnx, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
CVE-2026-28500 Affected Onnx Versions
1 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
onnx
|
PyPI |
< 1.21.0rc1
|
1.21.0rc1
|
References
Frequently Asked Questions
What is CVE-2026-28500?
Which Onnx versions are affected?
What version fixes CVE-2026-28500?
Is onnx affected?
What is the CVSS score of CVE-2026-28500?
What CWE is associated with CVE-2026-28500?
How can I check PyPI dependencies for CVE-2026-28500?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-hqmj-h5c6-369m",
"modified" : "2026-06-08T18:35:09Z",
"published" : "2026-03-16T16:23:28Z",
"aliases" : [ "CVE-2026-28500" ],
"summary" : "ONNX Untrusted Model Repository Warnings Suppressed by silent=True in onnx.hub.load() — Silent Supply-Chain Attack",
"details" : "## What's the issue\nPassing `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.\n \n```python\nif not _verify_repo_ref(repo) and not silent:\n # completely skipped when silent=True\n print(\"The model repo... is not trusted\")\n if input().lower() != \"y\":\n return None\n```\n \nOn 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.\n\n \n## Impact\nAny 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.\n \n## Resolved by removing the feature \n## References\n \n- [Write-up](https://github.com/ZeroXJacks/CVEs/blob/main/2026/CVE-2026-28500.md)",
"severity" : [ {
"type" : "CVSS_V3",
"score" : "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "PyPI",
"name" : "onnx"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0"
}, {
"fixed" : "1.21.0rc1"
} ]
} ],
"database_specific" : {
"last_known_affected_version_range" : "<= 1.20.1"
}
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/onnx/onnx/security/advisories/GHSA-hqmj-h5c6-369m"
}, {
"type" : "ADVISORY",
"url" : "https://nvd.nist.gov/vuln/detail/CVE-2026-28500"
}, {
"type" : "WEB",
"url" : "https://github.com/ZeroXJacks/CVEs/blob/main/2026/CVE-2026-28500.md"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/onnx/onnx"
}, {
"type" : "WEB",
"url" : "https://github.com/pypa/advisory-database/tree/main/vulns/onnx/PYSEC-2026-103.yaml"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-345", "CWE-494", "CWE-693" ],
"severity" : "HIGH",
"github_reviewed" : true,
"github_reviewed_at" : "2026-03-16T16:23:28Z",
"nvd_published_at" : "2026-03-18T02:16:24Z"
}
}