GitHub Advisoryadvisory · PyPI
GHSA-6pwm-x34p-fvj2 ONNX: Out-of-bounds read in ConvTranspose shape inference via undersized weight rank
MEDIUM
Official page ↗
- Aliases
- CVE-2026-115920
- Ecosystem
- PyPI
- Packages
- onnx
- Severity
- Moderate
- CVSS vector
- CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- Weaknesses
- CWE-125
- Reviewed
- 2026-10-28
Affected packages
• PyPI onnx: >= 1.2.1, < 1.22.0 → fixed in 1.22.0
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.
Related
Alias · CVE (1)
- CVE-2026-115920 Open Neural Network Exchange (ONNX) is an open standard for machine learning interoperability. vulnerability
Weakness · CWE (1)
- CWE-125 Out-of-bounds Read weakness
References
- https://github.com/onnx/onnx/security/advisories/GHSA-6pwm-x34p-fvj2 web
- https://nvd.nist.gov/vuln/detail/CVE-2026-115920 advisory
- https://github.com/onnx/onnx/pull/7997 web
- https://github.com/onnx/onnx/commit/2ec288908952eea9dcf48d4b197915e1f72c6abf web
- https://github.com/onnx/onnx package
- https://github.com/onnx/onnx/releases/tag/v1.22.0 web