Skip to main content

ONNX CVE-2026-115919

| EUVDEUVD-2026-110040 MEDIUM
Out-of-bounds Read (CWE-125)
2026-10-26 GitHub_M GHSA-48m4-24cq-37qf
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
    Supply crafted ONNX model to application
  2. Exploit
    Model passes onnx.checker.check_model() validation
  3. Execution
    Shape inference reads undersized protobuf dimensions
  4. Impact
    Out-of-bounds read triggers SIGSEGV, process terminated (DoS)

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 the target application to call onnx.shape_inference.infer_shapes() on an attacker-supplied/untrusted ONNX model. The model must contain an RNN or LSTM node from opsets 1-6, or a GRU node from opsets 3-6, whose first input (X) has a rank other than three, and it must still pass onnx.checker.check_model() so that it reaches the vulnerable path. Limiting factors: the attack vector is Local (AV:L) - the attacker needs their model to be ingested through a file or library boundary, not a network stack by default; only ONNX versions through 1.21.0 are affected (fixed in 1.22.0); only those specific legacy opset schemas are vulnerable (newer opset 7-13 and 14+ paths already enforce the rank-3 check); and the impact is limited to process termination (DoS) with no code execution or data exposure.

Impact

This is a moderate-priority denial-of-service issue, not a critical one. The vendor CVSS is 6.2 Medium (CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H): the vector is Local (AV:L) because the ONNX library processes the malicious model through a local library API or file boundary rather than a network stack, and impact is availability-only (A:H) with no confidentiality or integrity impact (C:N/I:N). The GHSA advisory explicitly recommends computing an Environmental score with Modified Attack Vector:Network only for applications that expose ONNX model processing over a network - so the real-world severity rises for model-ingestion services and stays low for local/offline tooling. No EPSS score was supplied and the CVE is not listed in CISA KEV, so there is no signal of active exploitation; the vuln.today Decision label is this_month, consistent with a fix-promptly-but-not-emergency posture. A conflict exists in the metadata: the input Tags claim 'Information Disclosure', but both the CVSS vector (C:N) and the advisory ('No confidentiality or integrity impact was demonstrated') confirm this is purely a crash/DoS - the information-disclosure framing is unsupported. Overall: a legitimate availability bug worth patching, materially more urgent only where untrusted models are processed via a network-exposed service.

Exploit ScenarioDerived

An attacker submits a crafted ONNX model to a service or pipeline that runs shape inference on untrusted models, where the model contains an RNN/LSTM (opset 1-6) or GRU (opset 3-6) node whose first input X has a rank other than three, and the model still passes onnx.checker.check_model(). When the application calls onnx.shape_inference.infer_shapes(), RNNShapeInference_opset1_to_6() reads dim(0)/dim(1) out of bounds, producing a SIGSEGV that terminates the process (DoS). No weaponized public exploit is identified, but the fix's regression test publicly demonstrates the malformed model that triggers the condition; the attack vector is Local (AV:L) with low complexity and no privileges or user interaction once the model is processed.

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's legacy shape-inference path allows an attacker-supplied model to crash a process that calls onnx.shape_inference.infer_shapes(). The vulnerable code, RNNShapeInference_opset1_to_6(), reads dim(0) and dim(1) from the first input of RNN/LSTM nodes (opsets 1-6) and GRU nodes (opsets 3-6) without verifying the tensor has rank three, so a malformed but checker-valid model triggers a protobuf repeated-field over-read and SIGSEGV. All ONNX releases through 1.21.0 are affected and the issue is fixed in 1.22.0; impact is limited to process termination (denial of service) with no demonstrated confidentiality or integrity effect, and no public exploit has been identified at time of analysis.

RemediationAI

Upgrade to ONNX 1.22.0 or later, which validates that the first input has rank three before touching its dimensions; the fix is in pull request https://github.com/onnx/onnx/pull/7879 and commit https://github.com/onnx/onnx/commit/92e541266af5dd38cfa48aeb92206f4268a066cd, and the vendor confirms the original malformed model now raises InferenceError on the published 1.23.2 wheel. Until upgrading, the practical compensating controls are to avoid calling onnx.shape_inference.infer_shapes() on untrusted or third-party models (side effect: no shape inference, so downstream tooling that depends on inferred shapes must be fed pre-validated models), to pre-screen models by checking that the first input of any RNN/LSTM node in opsets 1-6 or GRU node in opsets 3-6 has declared rank three and rejecting those that do not (side effect: custom validation logic parallel to the upstream fix, and models with unknown/dynamic rank may be rejected unnecessarily), or to run shape inference inside a disposable, memory- and restart-limited subprocess or container so a crash is contained (side effect: process isolation overhead and no protection for the parent workload's availability). Because the assessed vector is AV:L, applications that expose model processing over a network should recalculate an Environmental score with Modified Attack Vector set to Network, per the vendor advisory at https://github.com/onnx/onnx/security/advisories/GHSA-48m4-24cq-37qf.

Affected VersionsENISA

onnx < 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; its C++ shape-inference engine infers output shapes by walking graph nodes, and the legacy operator schemas for recurrent layers are handled by RNNShapeInference_opset1_to_6(). That function guarded only on the presence of an input shape (hasInputShape) and then unconditionally called dim(0) and dim(1) on it. Because protobuf represents a tensor shape as a repeated field of dimension entries, calling dim() on an index beyond dim_size() reads outside the intended array in release builds - the reported symptom was SIGSEGV, while sanitizer/debug builds abort on the protobuf bounds check. The root cause is CWE-125 (out-of-bounds read) stemming from a missing rank validation: the fix adds a dim_size() != 3 check that raises a shape-inference failure instead of indexing. The newer opset 7-13 and opset 14+ inference paths already enforced rank three and are unaffected, so the flaw is confined to the legacy RNN/LSTM opsets 1-6 and GRU opsets 3-6 schemas. The CPE cpe:2.3:a:onnx:onnx:*:*:*:*:*:*:*:* reflects that every published ONNX build before the fix carries the same code.

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 through a local library/file boundary (AV:L) with no privileges or interaction once ingested; impact is process crash only, so A:H and C:N/I:N.

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:24 cve.org
MEDIUM 6.2

DescriptionCVE.org

Open Neural Network Exchange (ONNX) is an open standard for machine learning interoperability. Prior to 1.22.0, RNNShapeInference_opset1_to_6() processes malformed RNN and LSTM nodes from opsets 1 through 6 and GRU nodes from opsets 3 through 6 without verifying that the first input has rank three. The function accesses dim(0) and dim(1) on an undersized protobuf shape, which can read outside the intended repeated field and terminate an application when onnx.shape_inference.infer_shapes() processes an untrusted model that can pass onnx.checker.check_model(). 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
  • 58 pypi packages depend on onnx (25 direct, 33 indirect)

Ecosystem-wide dependent count for version 1.22.0.

Threat Intelligence Overview

EPSS Score
0.2%
Top 93% exploitable
Prevalence
Medium
very popular ML interchange library, but ML is a domain subset of environments
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

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.

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-115920 MEDIUM
6.2 Oct 26

Out-of-bounds read in ONNX ConvTranspose shape inference (convTransposeShapeInference and convTransposeShapeInference_op

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