{"id":"CVE-2026-34446","summary":"ONNX: Arbitrary File Read via ExternalData Hardlink Bypass in ONNX load","details":"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.","aliases":["GHSA-cmw6-hcpp-c6jp","PYSEC-2026-2241"],"modified":"2026-08-12T16:25:03.667104Z","published":"2026-04-01T17:37:54.737Z","related":["CGA-gj88-qj5p-j3qr"],"database_specific":{"cna_assigner":"GitHub_M","cwe_ids":["CWE-22","CWE-61"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/34xxx/CVE-2026-34446.json"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/34xxx/CVE-2026-34446.json"},{"type":"ADVISORY","url":"https://github.com/onnx/onnx/security/advisories/GHSA-cmw6-hcpp-c6jp"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-34446"},{"type":"FIX","url":"https://github.com/onnx/onnx/commit/4755f8053928dce18a61db8fec71b69c74f786cb"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/onnx/onnx","events":[{"introduced":"0"},{"fixed":"be2b5fde82d9c8874f3d19328bdfe3b6962dc67b"},{"fixed":"4755f8053928dce18a61db8fec71b69c74f786cb"}],"database_specific":{"extracted_events":[{"introduced":"0"},{"fixed":"1.21.0"}],"source":["CPE_RANGE","REFERENCES"],"cpe":"cpe:2.3:a:linuxfoundation:onnx:*:*:*:*:*:*:*:*"}}],"versions":["v1.3.0","v1.1.0","v0.2","v0.1"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-34446.json","vanir_signatures_modified":"2026-08-12T16:25:03Z","vanir_signatures":[{"target":{"file":"onnx/test/cpp/checker_test.cc","function":"TEST"},"deprecated":false,"digest":{"function_hash":"171595224107432415865451095612645417277","length":594},"id":"CVE-2026-34446-1c13077d","signature_type":"Function","signature_version":"v1","source":"https://github.com/onnx/onnx/commit/4755f8053928dce18a61db8fec71b69c74f786cb"},{"signature_version":"v1","source":"https://github.com/onnx/onnx/commit/4755f8053928dce18a61db8fec71b69c74f786cb","target":{"file":"onnx/checker.cc"},"deprecated":false,"digest":{"line_hashes":["228678263053640163634378299783059359750","323833544844054158561062823797021038285","225032623827825878554203818684697560664","218707300894504106333349360406091060021"],"threshold":0.9},"id":"CVE-2026-34446-4429487e","signature_type":"Line"},{"id":"CVE-2026-34446-56a69e83","signature_type":"Line","signature_version":"v1","source":"https://github.com/onnx/onnx/commit/4755f8053928dce18a61db8fec71b69c74f786cb","target":{"file":"onnx/test/cpp/checker_test.cc"},"deprecated":false,"digest":{"line_hashes":["218288394427601728521351396430827211120","42432593148723861583193071788987341782","336236154891539408442439795233444959315","291290094037961951241678697160067183433","331398135653175476328052973631614322333","118516037992418821336602591496477483044","194781643396134294354155936686240613805","44958690227046309347923048194384148717","300265392542811807704877275921678215621","105033630908411330797904335496737241560","160260508019604022187775333275064325983","83992370454356990473768534046789826673","238941290079941163367183133488752298007","286507889305868357548744830176196086354","99287519628577725525674265252450334298","2396405549788145168914682694727490067","84524617042980626330252108547642044072","181313589861014950882572946727086481850","32187197892255643856615512722887910669","239789386876594353884571210992664706067","138641820875017571778594800564050929436"],"threshold":0.9}},{"source":"https://github.com/onnx/onnx/commit/4755f8053928dce18a61db8fec71b69c74f786cb","target":{"file":"onnx/checker.cc","function":"resolve_external_data_location"},"deprecated":false,"digest":{"function_hash":"93534487257072582615783703272541332060","length":1940},"id":"CVE-2026-34446-740779f7","signature_type":"Function","signature_version":"v1"}]}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N"}]}