Skip to main content

ONNX EUVDEUVD-2026-110041

| CVE-2026-115920 MEDIUM
Out-of-bounds Read (CWE-125)
2026-10-26 GitHub_M GHSA-6pwm-x34p-fvj2
6.2
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Craft malicious ONNX model (undersized ConvTranspose weight, no kernel_shape)
  2. Delivery
    Pass onnx.checker.check_model validation
  3. Exploit
    Submit to application's shape-inference path
  4. Execution
    Trigger out-of-bounds read on empty effective_kernel_shape
  5. Impact
    Process crash / denial of service

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, read limits
MITRE ATT&CK

1 technique across 1 tactic: Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires an application to call onnx.shape_inference.infer_shapes() on an attacker-supplied ONNX model (versions 1.2.1 through 1.21.0). The model must contain a ConvTranspose node whose weight tensor (input 1) has fewer than three dimensions AND no explicit kernel_shape attribute, producing an empty effective_kernel_shape that is then indexed per input spatial dimension. The malicious model passes onnx.checker.check_model(), so that validation step does not limit exploitation. Limiting factors: the attack is local/library-boundary by default (AV:L) - the attacker must get the crafted model into a pipeline that performs shape inference, so the realistic exposure is services that accept untrusted/uploaded models (where the vendor advises treating the vector as Network); impact is confined to a crash of the hosting process (availability only); and the flaw is fully remediated in 1.22.0, which rejects input and weight tensors with fewer than three dimensions before deriving the kernel shape.

Impact

This is a genuine but bounded availability issue, not a top-tier emergency. The CVSS 3.1 vector (AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H, 6.2 Medium) correctly captures the shape of the risk: the only impact is availability (A:H) via a deterministic process crash, with no confidentiality or integrity impact, and the attack vector is Local (AV:L) because the vulnerable ONNX component processes the malicious model through a library API or file boundary rather than a network stack. The GHSA advisory explicitly flags that applications exposing ONNX model processing over a network should compute an Environmental score with Modified Attack Vector = Network, which would materially raise urgency for model-serving/upload services - so the base AV:L may understate risk for network-facing deployments. No EPSS probability was supplied, there is no CISA KEV listing, and there is no verified public exploit code (the advisory describes the triggering model conceptually but no working PoC reference is provided), so there is no public exploit identified at time of analysis. The vuln.today decision label is 'this_month' rather than act_now/emergency, consistent with a medium-severity, DoS-only, locally-scoped flaw. Net: a real and easily-triggered denial of service for any service that runs shape inference on untrusted models, but the absence of confidentiality/integrity impact, active exploitation, or network-default reachability keeps it a planned-remediation item rather than a drop-everything priority.

Exploit ScenarioDerived

An attacker submits a crafted ONNX model to an application that runs onnx.shape_inference.infer_shapes() on untrusted input (for example a model-conversion, validation, or hosting service). The model contains a ConvTranspose node whose weight tensor has fewer than three dimensions and omits the kernel_shape attribute; it still passes onnx.checker.check_model(), so naive validation does not reject it. When shape inference derives an empty effective_kernel_shape and indexes element [0], the process crashes (SIGSEGV), denying service. No verified public exploit code is available, and exploitation requires local/library-boundary access to the inference path (AV:L).

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 26, 2026

Out-of-bounds read in ONNX ConvTranspose shape inference (convTransposeShapeInference and convTransposeShapeInference_opset11) lets a crafted model terminate the hosting process, causing denial of service. The issue affects ONNX 1.2.1 through 1.21.0 and is triggered when an application calls onnx.shape_inference.infer_shapes() on an attacker-supplied model containing a ConvTranspose node whose weight tensor (input 1) has fewer than three dimensions and no kernel_shape attribute; such a model still passes onnx.checker.check_model(), so that validation does not block it. Severity is assessed at CVSS 3.1 6.2 (AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H) with availability-only impact and no demonstrated confidentiality or integrity effect; no public exploit has been identified at time of analysis, and the issue is fixed in ONNX 1.22.0.

RemediationAI

Vendor-released patch: ONNX 1.22.0. Upgrade the onnx package to 1.22.0 or later - the vendor re-tested the original malformed model against the published 1.23.2 wheel, where it now raises InferenceError instead of crashing - from https://github.com/onnx/onnx/releases/tag/v1.22.0, which carries the fix from PR https://github.com/onnx/onnx/pull/7997 (commit 2ec288908952eea9dcf48d4b197915e1f72c6abf) as described in advisory https://github.com/onnx/onnx/security/advisories/GHSA-6pwm-x34p-fvj2. Note that the patch also tightens maxUnpool shape inference (shape presence and minimum two-dimensional rank for the indices input) and now rejects input tensors with fewer than three dimensions in ConvTranspose inference, so pipelines that previously fed undersized or partially-shaped tensors through infer_shapes() may start receiving InferenceError; validate that your model-processing flows tolerate these stricter failures. Because the flaw is reachable only through the shape-inference API on untrusted models, the vendor's guidance is that the default vector is local (AV:L) and the component is not bound to a network stack, so services that accept uploaded or third-party models over a network should treat the vector as Network in an Environmental score and prioritize the upgrade accordingly; no separate configuration-level mitigation is documented, and upgrading is the complete fix.

Affected VersionsENISA

onnx 1.2.1, < 1.22.0

Affected Packages

pypi onnx fix: 1.22.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in pypi

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

ONNX is an open standard and reference library for machine learning model interchange; shape inference (onnx.shape_inference.infer_shapes) statically propagates tensor dimensions through a graph so downstream tooling and runtimes know expected shapes. In the ConvTranspose shape-inference routine, when the model omits an explicit kernel_shape attribute, the kernel is derived from dimensions 2 onward of the weight tensor. With an input shape such as [1, 1, 5] the code computes one spatial input dimension, but a weight of shape [1, 3] yields no spatial dimensions, so the derived effective_kernel_shape vector is empty; the output-shape loop nevertheless indexes effective_kernel_shape[0] once per input spatial dimension. This is a CWE-125 out-of-bounds read on a C++ std::vector element that is not present, producing a deterministic SIGSEGV rather than a graceful InferenceError. Both the current ConvTranspose implementation in onnx/defs/nn/defs.cc and the legacy convTransposeShapeInference_opset11 path in onnx/defs/nn/old.cc were affected, meaning older opset models hit the same defect. The upstream fix (PR #7997, commit 2ec288908) rejects input tensors with fewer than three dimensions (fail_shape_inference when dim_size < 3) and applies the same rank check to the weight tensor before deriving the spatial kernel shape, and it also hardens the adjacent maxUnpool shape inference by verifying that the indices input has a shape and at least two dimensions; the fix was re-tested against the published 1.23.2 wheel, where the malformed model now raises InferenceError. The vulnerable component is a local library API rather than a network service, and the flaw is only reachable when shape inference is actually run over untrusted model content.

Know when Onnx gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 6.2 MEDIUM
AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI 6.2 MEDIUM

Model is processed via a local library/file boundary (AV:L) with no auth and a deterministic crash on first attempt (AC:L/PR:N/UI:N); DoS-only, so C:N/I:N/A:H.

3.1 AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Red Hat 6.2 MEDIUM

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Local
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

2
Patch available
Oct 26, 2026 - 18:18 EUVD
CVE Published
Oct 26, 2026 - 17:26 cve.org
MEDIUM 6.2

DescriptionCVE.org

Open Neural Network Exchange (ONNX) is an open standard for machine learning interoperability. From 1.2.1 until 1.22.0, ConvTranspose shape inference processes a weight tensor with fewer than three dimensions without a kernel_shape attribute by deriving an empty effective_kernel_shape and indexing it for the input's spatial dimensions. The flaw affects convTransposeShapeInference_opset11() and the current inference path, and an untrusted model that can pass onnx.checker.check_model() can crash onnx.shape_inference.infer_shapes(), causing denial of service without demonstrated confidentiality or integrity impact. This issue is fixed in version 1.22.0.

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 1 pypi packages depend on onnx (1 direct, 0 indirect)

Ecosystem-wide dependent count for version 1.2.1.

Threat Intelligence Overview

EPSS Score
0.2%
Top 93% exploitable
Prevalence
Medium
widely used ML interoperability library, but confined to ML/inference pipelines
Threat Intel
1
1 source
Social Media
1
Sightings
Data Quality
4 sources
Confidence: Medium
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor CIRCL GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation
None
System Exposure· derived
Small
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

31
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +31
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

More in Onnx

View all
CVE-2024-5187 HIGH POC
8.8 Jun 06

A vulnerability in the `download_model_with_test_data` function of the onnx/onnx framework, version 1.16.0, allows for a

CVE-2026-49114 MEDIUM POC
6.8 Aug 21

Symlink-following arbitrary file write in ONNX's save_external_data function (onnx/external_data_helper.py) allows a loc

CVE-2024-27319 CRITICAL
9.1 Feb 23

Versions of the package onnx before and including 1.15.0 are vulnerable to Out-of-bounds Read as the ONNX_ASSERT and ONN

CVE-2026-34445 HIGH
8.6 Apr 01

Arbitrary attribute injection in ONNX Python library (versions prior to 1.21.0) allows unauthenticated remote attackers

CVE-2024-27318 HIGH
7.5 Feb 23

Versions of the package onnx before and including 1.15.0 are vulnerable to Directory Traversal as the external_data fiel

CVE-2026-115922 MEDIUM
6.2 Oct 26

Memory exhaustion denial of service in ONNX prior to 1.22.0: the Python tensor-materialization helpers _unpack_2bit() an

CVE-2026-115921 MEDIUM
6.2 Oct 26

Shape inference in the ONNX library (versions 1.4.0 through 1.21.0) mishandles the required Scan attribute num_scan_inpu

CVE-2026-115919 MEDIUM
6.2 Oct 26

Out-of-bounds read in ONNX's legacy shape-inference path allows an attacker-supplied model to crash a process that calls

CVE-2026-14647 LOW POC
2.1 Jul 04

Out-of-bounds read in ONNX versions up to 1.21.x exposes limited memory contents to low-privileged remote attackers via

CVE-2026-34447 MEDIUM
5.5 Apr 01

ONNX versions prior to 1.21.0 allow local attackers to read arbitrary files outside the model directory through symlink

CVE-2026-34446 MEDIUM
4.7 Apr 01

ONNX versions prior to 1.21.0 allow local attackers to read arbitrary files by exploiting a hardlink-based path traversa

CVE-2026-11329 LOW
2.0 Jun 05

Weak cache key construction in onnx-mlir's torch backend (versions up to 0.5.0.0) omits tensor data type (dtype) from pl

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy