GHSA-cmw6-hcpp-c6jpMediumCVSS 4.7

ONNX: Arbitrary File Read via ExternalData Hardlink Bypass in ONNX load

Published
April 1, 2026
Last Modified
April 1, 2026

🔗 CVE IDs covered (1)

📋 Description

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.

🎯 Affected products1

  • pip/onnx:<= 1.20.1

🔗 References (4)