MEDIUM 4.7
GHSA-cmw6-hcpp-c6jp
ONNX: Arbitrary File Read via ExternalData Hardlink Bypass in ONNX load
Details
### Summary The issue is in `onnx.load` — the code checks for symlinks to prevent path traversal, but completely misses hardlinks, which is the problem, since a hardlink looks exactly like a regular file on the filesystem.
### The Real Problem The validator in `onnx/checker.cc` only calls `is_symlink()` and never checks the inode or `st_nlink`, so a hardlink walks right through every security check without any issues.
### Impact Especially dangerous in AI supply chain scenarios like HuggingFace — a single malicious model is enough to silently steal secrets from the victim's machine without them noticing anything.
Are you affected?
Enter the version of the package you're using.