In ONNX before 1.21.0, the 'save_external_data' function builds the external-data file path from the model's external_data location field and opens it for writing without 'O_NOFOLLOW/O_EXCL', after a non-atomic 'os.path.isfile()' check. A local attacker with write access to the directory where a victim serializes external data can deterministically pre-plant a symlink that is being followed, causing the victim's write to append to any file the victim can write, e.g. ~/.ssh/authorized_keys, cron files, or application configs. Fixed in 1.21.0.
Fix
Patch, vendor advisory and mitigation references on NVD 1
- https://github.com/onnx/onnx/security/advisories/GHSA-q56x-g2fj-4rj6 Exploit, Vendor Advisory
Every line above is quoted from NVD, CISA, Microsoft, the vendor's own advisory or DISA; nothing is generated.
Change history 1
- First seenCVSS 6.8 · linuxfoundationNVD modified 2026-10-15 19:10
Affected (CPE criteria) 1
cpe:2.3:a:linuxfoundation:onnx:*:*:*:*:*:*:*:*
References 3
- https://github.com/onnx/onnx/security/advisories/GHSA-q56x-g2fj-4rj6 Exploit, Vendor Advisory
- https://raw.githubusercontent.com/cisagov/CSAF/develop/csaf_files/IT/white/2026/va-26-233-01.json VDB Entry
- https://www.cve.org/CVERecord?id=CVE-2026-49114 Third Party Advisory, VDB Entry