CVE-2026-14647: ONNX: OOB read in shape inference parsing untrusted models
MEDIUM PoC AVAILABLE CISA: TRACK*A public exploit already exists for an out-of-bounds read in ONNX's convPoolShapeInference_opset19 function, triggered when the library parses a malicious ONNX model file during shape inference for convolution/pooling layers. The attack requires only network delivery of a crafted model and low privileges, with no user interaction, and CVSS scores it low-severity (4.3) because impact is limited to confidentiality (memory disclosure) with no integrity or availability effect claimed — but any pipeline that loads user- or third-party-supplied ONNX models (model marketplaces, MLOps upload endpoints, CI/CD conversion steps) is exposed to a low-cost information leak or crash. There is no CISA KEV listing and no EPSS score published yet, so treat urgency as moderate rather than critical, but the public availability of a working exploit shortens the window before opportunistic scanning appears. Apply the patch (commit a7bf3a0f1d18bb62575236ef6e4944980c40e045, merged via onnx/onnx PR #8051) by upgrading onnx past 1.21.x, or in the interim restrict which model sources are trusted for parsing and sandbox any model-loading service that ingests externally-sourced ONNX files.
What is the risk?
Medium severity per CVSS (4.3) reflects a network-reachable, low-complexity, no-user-interaction vulnerability, but with impact bounded to a confidentiality-only out-of-bounds read (no integrity or availability impact declared). The presence of a public exploit raises real-world exploitability above what the base score alone suggests — expect it to be usable for crash-inducing or memory-leak PoCs against any service that performs ONNX shape inference on attacker-influenced input. No KEV listing, no EPSS percentile, and no scanner template currently exist, so this is not yet under active mass exploitation, but organizations that expose ONNX model loading/conversion as a service (model registries, inference gateways, MLOps upload flows) should treat this as an exposed attack surface requiring near-term patching rather than a theoretical bug.
How does the attack unfold?
What systems are affected?
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| ONNX | pip | — | No patch |
Do you use ONNX? You're affected.
How severe is it?
What is the attack surface?
What should I do?
1 step-
Upgrade onnx (and any bundled onnxruntime referencing the same shape-inference code) to a release that includes commit a7bf3a0f1d18bb62575236ef6e4944980c40e045 (merged via PR #8051, tracked in issue #8036) — confirm your version pin is past the vulnerable 1.21.x line. Until patched, avoid parsing or performing shape inference on ONNX model files from untrusted or unauthenticated sources; if user-supplied models must be accepted, isolate the parsing step in a sandboxed/ephemeral process with memory-safety mitigations (ASLR, guard pages) and resource limits so an OOB read cannot pivot into a larger compromise. Add detection for anomalous crashes or repeated malformed-model uploads on model ingestion endpoints, and audit CI/CD ONNX conversion jobs for exposure to externally-triggered model uploads.
What does CISA's SSVC say?
Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.
How is it classified?
Which compliance frameworks are affected?
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2026-14647?
A public exploit already exists for an out-of-bounds read in ONNX's convPoolShapeInference_opset19 function, triggered when the library parses a malicious ONNX model file during shape inference for convolution/pooling layers. The attack requires only network delivery of a crafted model and low privileges, with no user interaction, and CVSS scores it low-severity (4.3) because impact is limited to confidentiality (memory disclosure) with no integrity or availability effect claimed — but any pipeline that loads user- or third-party-supplied ONNX models (model marketplaces, MLOps upload endpoints, CI/CD conversion steps) is exposed to a low-cost information leak or crash. There is no CISA KEV listing and no EPSS score published yet, so treat urgency as moderate rather than critical, but the public availability of a working exploit shortens the window before opportunistic scanning appears. Apply the patch (commit a7bf3a0f1d18bb62575236ef6e4944980c40e045, merged via onnx/onnx PR #8051) by upgrading onnx past 1.21.x, or in the interim restrict which model sources are trusted for parsing and sandbox any model-loading service that ingests externally-sourced ONNX files.
Is CVE-2026-14647 actively exploited?
Proof-of-concept exploit code is publicly available for CVE-2026-14647, increasing the risk of exploitation.
How to fix CVE-2026-14647?
Upgrade onnx (and any bundled onnxruntime referencing the same shape-inference code) to a release that includes commit a7bf3a0f1d18bb62575236ef6e4944980c40e045 (merged via PR #8051, tracked in issue #8036) — confirm your version pin is past the vulnerable 1.21.x line. Until patched, avoid parsing or performing shape inference on ONNX model files from untrusted or unauthenticated sources; if user-supplied models must be accepted, isolate the parsing step in a sandboxed/ephemeral process with memory-safety mitigations (ASLR, guard pages) and resource limits so an OOB read cannot pivot into a larger compromise. Add detection for anomalous crashes or repeated malformed-model uploads on model ingestion endpoints, and audit CI/CD ONNX conversion jobs for exposure to externally-triggered model uploads.
What systems are affected by CVE-2026-14647?
This vulnerability affects the following AI/ML architecture patterns: model serving, training pipelines, MLOps model registries.
What is the CVSS score for CVE-2026-14647?
CVE-2026-14647 has a CVSS v3.1 base score of 4.3 (MEDIUM). The EPSS exploitation probability is 0.43%.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0010.001 AI Software AML.T0049 Exploit Public-Facing Application Compliance Controls Affected
What are the technical details?
Original Advisory
A weakness has been identified in onnx up to 1.21.x. This vulnerability affects the function convPoolShapeInference_opset19 of the file onnx/defs/nn/old.cc of the component onnxruntime. This manipulation causes out-of-bounds read. It is possible to initiate the attack remotely. The exploit has been made available to the public and could be used for attacks. Patch name: a7bf3a0f1d18bb62575236ef6e4944980c40e045. It is recommended to apply a patch to fix this issue.
Exploitation Scenario
An adversary crafts a malicious ONNX model file with a manipulated convolution/pooling node definition designed to trigger an out-of-bounds read during convPoolShapeInference_opset19 processing. They upload or submit this model to a public-facing service that performs ONNX shape validation — for example, a model registry's upload endpoint, an inference gateway that auto-converts uploaded models, or a CI pipeline that ingests community-contributed ONNX artifacts. When the target parses the file to validate its shape graph, the OOB read executes, potentially leaking adjacent memory contents (e.g., fragments of other loaded model data or process memory) back to the attacker via error messages, timing, or crash artifacts, or simply crashing the parsing worker to disrupt availability of the model-loading service.
Weaknesses (CWE)
CWE-119 Improper Restriction of Operations within the Bounds of a Memory Buffer
Primary
CWE-125 Out-of-bounds Read
Primary
CWE-119 Improper Restriction of Operations within the Bounds of a Memory Buffer CWE-125 Out-of-bounds Read CWE-119 — Improper Restriction of Operations within the Bounds of a Memory Buffer: The product performs operations on a memory buffer, but it reads from or writes to a memory location outside the buffer's intended boundary. This may result in read or write operations on unexpected memory locations that could be linked to other variables, data structures, or internal program data.
- [Requirements] Use a language that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid. For example, many languages that perform their own memory management, such as Java and Perl, are not subject to buffer overflows. Other languages, such as Ada and C#, typically provide overflow protection, but the protection can be disabled by the programmer. Be wary that a language's interface to native code may still be subject to overflows, even if the language itself is theoretically safe.
- [Architecture and Design] Use a vetted library or framework that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid. Examples include the Safe C String Library (SafeStr) by Messier and Viega [REF-57], and the Strsafe.h library from Microsoft [REF-56]. These libraries provide safer versions of overflow-prone string-handling functions.
Source: MITRE CWE corpus.
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N References
Timeline
Related Vulnerabilities
CVE-2026-28500 9.1 onnx: Integrity Verification bypass enables tampering
Same package: onnx CVE-2024-5187 8.8 ONNX: path traversal in model download enables RCE
Same package: onnx CVE-2026-27489 8.6 ONNX: symlink path traversal allows arbitrary file read
Same package: onnx CVE-2026-34445 8.6 ONNX: property overwrite via crafted model file
Same package: onnx CVE-2024-7776 8.1 ONNX: path traversal in download_model enables RCE
Same package: onnx