---
id: CVE-2026-115920
aliases:
  - GHSA-6pwm-x34p-fvj2
title: >-
  ONNX: Out-of-bounds read in ConvTranspose shape inference via undersized
  weight rank
summary: >-
  ONNX: Out-of-bounds read in ConvTranspose shape inference via undersized
  weight rank
severity: medium
cvss: 6.2
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'
vendor: onnx
product: onnx
ecosystem: pip
affected:
  - 'onnx >= 1.2.1, < 1.22.0'
patched:
  - onnx 1.22.0
published: '2026-10-28'
updated: '2026-10-28'
sourceUpdated: '2026-10-28T21:30:03.915757861Z'
source: OSV
sourceUrl: 'https://osv.dev/vulnerability/GHSA-6pwm-x34p-fvj2'
references:
  - url: 'https://github.com/onnx/onnx/security/advisories/GHSA-6pwm-x34p-fvj2'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-115920'
  - url: 'https://github.com/onnx/onnx/pull/7997'
  - url: >-
      https://github.com/onnx/onnx/commit/2ec288908952eea9dcf48d4b197915e1f72c6abf
  - url: 'https://github.com/onnx/onnx'
  - url: 'https://github.com/onnx/onnx/releases/tag/v1.22.0'
  - url: 'https://github.com/advisories/GHSA-6pwm-x34p-fvj2'
tags:
  - osv
  - pip
  - ghsa
  - cve.org
epss: 0.00178
epssPercentile: 0.07402
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-10-26T19:30:01.679717Z'
cwe:
  - CWE-125
ingestedAt: '2026-10-26T17:33:33.052Z'
---

## Overview

## Summary

ONNX ConvTranspose shape inference performed an out-of-bounds read when the weight tensor had fewer than three dimensions and the model did not provide a `kernel_shape` attribute.

The inference function derived an empty `effective_kernel_shape` vector from the undersized weight tensor, then indexed that vector once for each spatial dimension of the input tensor. A crafted model passed `onnx.checker.check_model()` and caused SIGSEGV when passed to `onnx.shape_inference.infer_shapes()`.

## Technical details

For an input shape such as `[1, 1, 5]`, shape inference computes one spatial input dimension. A weight shape such as `[1, 3]` has no spatial dimensions, so deriving `kernel_shape` from dimensions 2 onward produces an empty vector. The output loop nevertheless accesses `effective_kernel_shape[0]`.

The defect affected both the older `convTransposeShapeInference_opset11()` path and the then-current ConvTranspose inference implementation.

## Impact

An application that performs shape inference on an untrusted model can be terminated, causing denial of service. The observed result was a deterministic process crash. No confidentiality or integrity impact was demonstrated.

## Affected versions

- Affected: ONNX 1.2.1 through 1.21.0
- Patched: ONNX 1.22.0

## Remediation

Upgrade to ONNX 1.22.0 or later. The fix rejects input and weight tensors with fewer than three dimensions before deriving the spatial kernel shape.

- Fix: [onnx/onnx#7997](https://github.com/onnx/onnx/pull/7997)
- Commit: [`2ec288908`](https://github.com/onnx/onnx/commit/2ec288908952eea9dcf48d4b197915e1f72c6abf)

The original malformed model was re-tested against the published ONNX 1.23.2 wheel and correctly raises `InferenceError`.

## Severity

The vulnerable ONNX component processes the malicious model through a local library API or file boundary and is not itself bound to a network stack. Applications that expose ONNX model processing over a network should calculate an Environmental score with Modified Attack Vector set to Network.

## Affected packages

- `onnx >= 1.2.1, < 1.22.0`

## Remediation

Upgrade to a patched release:

- `onnx 1.22.0`
