Launch Week Day 1: Announcing Security Design Review
MEDIUM 4.7 PyPI

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

GHSA-cmw6-hcpp-c6jp · CVE-2026-34446

Published · Modified

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.

Ready to move

Start Securing

Free, no credit card | First findings in minutes