CVE-2026-34446 ONNX: Arbitrary File Read via ExternalData Hardlink Bypass in ONNX load
Attackers can read arbitrary files by using hardlinks to bypass symlink checks in ONNX model loading, affecting ML pipelines using the library.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Local or same network only
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2026-34446?
CVE-2026-34446 is a medium-severity path traversal vulnerability in onnx, published on 1 Apr 2026. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link.
Official description
Open Neural Network Exchange (ONNX) is an open standard for machine learning interoperability. Prior to version 1.21.0, there is an issue in onnx.load, the code checks for symlinks to prevent path traversal, but completely misses hardlinks because a hardlink looks exactly like a regular file on the filesystem. This issue has been patched in version 1.21.0.
Which versions are affected by CVE-2026-34446?
3 open source packages ship an affected version, including onnx. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
onnx PyPI | All versions | 1.21.0 |
onnx PyPI | All versions | 1.21.0 |
onnx PyPI | All versions | 1.21.0 |
Products include Linuxfoundation Onnx.
How do I fix CVE-2026-34446?
Upgrade onnx to 1.21.0 or later.
Upgrade, and resolve every user-supplied path against an allowed base folder before opening it. More about Path traversal.
Is CVE-2026-34446 being exploited?
There is no known exploitation of CVE-2026-34446 in the wild and no public exploit code.
Other vulnerabilities in onnx
- CVE-2025-51480 Path traversal in n/a
- CVE-2024-5187 Arbitrary File Overwrite in download_model_with_test_data in onnx/onnx
- CVE-2026-27489 ONNX: Path Traversal via Symlink
- CVE-2026-34445 ONNX: Malicious ONNX models can crash servers by exploiting unprotected object settings.
- CVE-2026-28500 ONNX Untrusted Model Repository Warnings Suppressed by silent=True in onnx.hub.load() — Silent Supply-Chain Attack
Sources
Also known as AZL-81986, DEBIAN-CVE-2026-34446, ECHO-76fb-f78f-1fbe, GHSA-cmw6-hcpp-c6jp, PYSEC-2026-2241, UBUNTU-CVE-2026-34446.