CVE-2026-34446 ONNX: Arbitrary File Read via ExternalData Hardlink Bypass in ONNX load

Medium 4.7 Published Updated

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.

Weakness: CWE-61, CWE-22

Which versions are affected by CVE-2026-34446?

3 open source packages ship an affected version, including onnx. It affects 1 product.

PackageAffectedFixed in
onnx PyPIAll versions1.21.0
onnx PyPIAll versions1.21.0
onnx PyPIAll versions1.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.

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.

Is CVE-2026-34446 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free