ONNX: Arbitrary File Read via ExternalData Hardlink Bypass in ONNX load
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.
Software afectado
Haz clic en una tecnología para ver todas sus vulnerabilidades.
| Plataforma | Paquete | Versiones vulnerables | Corregida en |
|---|---|---|---|
| Python (PyPI) | onnx | < 1.21.0 | 1.21.0 |
Referencias
- Vector CVSS
CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:N- Debilidad (CWE)
CWE-22, CWE-61- Plataforma
- Python (PyPI)
- Paquete
onnx- Publicada
- 01.04.2026
- Actualizado
- 11.10.2026 15:17
Fuentes y licencias
OSV / GitHub Advisory Database - PYSEC-2026-2241 - PyPA Advisory Database; CC BY 4.0
OSV / GitHub Advisory Database - GHSA-cmw6-hcpp-c6jp - CC BY 4.0
Historial de vulnerabilidades: onnx
Todas las vulnerabilidades publicadas de este paquete (Python (PyPI)), de la más reciente a la más antigua. Muestra si es un fallo aislado o un paquete que hay que vigilar.
- Entradas en total
- 13
- Primera → última
- 01.2023 07.2026
- Sin corrección
- 0
- Explotada en ataques
- 0
Distribución por gravedad
- Crítica 1
- Alta 7
- Media 4
- Baja 1
Divulgaciones por año
- 2023: 1
- 2024: 3
- 2025: 1
- 2026: 8
-
ONNX: Arbitrary File Read via ExternalData Hardlink Bypass in ONNX load esta entrada
Identifica las vulnerabilidades de tu aplicación
Con la integración de DockRay y el inventario de software activado, DockRay compara las versiones notificadas de los componentes con las vulnerabilidades conocidas y avisa de las coincidencias confirmadas. La cobertura depende de la tecnología compatible y de los avisos disponibles.