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.
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.
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.
{
"cwe_ids": [
"CWE-345",
"CWE-494",
"CWE-693"
],
"github_reviewed": true,
"github_reviewed_at": "2026-03-16T16:23:28Z",
"nvd_published_at": "2026-03-18T02:16:24Z",
"severity": "HIGH"
}