ONNX: Out-of-bounds read in ConvTranspose shape inference via undersized weight rank
Impact
ONNX versions 1.2.1 through 1.21.0 have an out-of-bounds read vulnerability in ConvTranspose shape inference when the weight tensor has fewer than three dimensions. This can cause a denial of service via a crafted model. The issue is resolved in ONNX 1.22.0.
Summarized by @cf/meta/llama-3.3-70b-instruct-fp8-fast. Verify details against the original sources.Affected packages
Start with the recorded fix for your release branch. Check your installed version and test compatibility before upgrading. Fixing this advisory does not rule out other vulnerabilities in the release.
| Affected range | Recorded fix |
|---|---|
| From 1.2.1 before 1.22.0Ecosystem versions | 1.22.0 |
Version evidence: OSV · GHSA-6pwm-x34p-fvj2
View original version evidence (42 explicit versions)
Affected products
Vendor version evidence. Product records are separate from automatic dependency matching.
onnx · GitHub_M
onnx
1 range
onnx · GitHub_M
onnx
Compare with this publisher’s ranges. This does not inspect your installation.
affected
>= 1.2.1, < 1.22.0
Other versions: unknown
Original source description
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
- Commit:
2ec288908
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.
Inside the record
Evidence available
Describes the evidence in this view, not whether the product is safe.
Original records
CVE-2026-115920View the latest unmodified CVE JSON from the official source. It may be newer than this imported page.
cve.new JSON →Underlying weaknesses
The source’s classification of what caused the vulnerability.
Contributing organizations · 2
Assigning organization
Additional data publisher
What changed
Follow changesLarge field values are marked as truncated previews. Original source snapshots remain retained.