CVE-2026-115922 · GHSA-q69g-f4f5-v8m7
ONNX: Denial of service via unchecked expansion of packed sub-byte tensors in ONNX Python APIs
- Risk score
- 48/100
- CVSS
- 6.2 v3.1
- Exploit chance (30 days)
- 0.1%
- Published
- 26 Oct 2026
Open in the live forecast Today's forecast
What to know
- What it is
- Open Neural Network Exchange (ONNX) is an open standard for machine learning interoperability. Prior to 1.22.0, _unpack_2bit() and _unpack_4bit() resize unpacked arrays according to attacker-controlled TensorProto.dims without verifying that raw_data or int32_data encodes the declared number of elements. Materializing…
- Affected
- onnx (pip) <= 1.21.0
- Fix
- Upgrade onnx to 1.22.0 or later.
- Exploitation
- No known exploitation
Story map
At a glance
onnx: Yellow, plan it in. Open Neural Network Exchange (ONNX) is an open standard for machine learning interoperability. Prior to 1.22.0, _unpack_2bit() and _unpack_4bit() resize unpacked arrays according to attacker-controlled TensorProto.dims without verifying that raw_data or int32_data encodes the declared number of elements. Materializing…
The flaws
- CVE-2026-115922: ONNX: Denial of service via unchecked expansion of packed sub-byte tensors in ONNX Python APIs (CVSS 6.2 · EPSS 0%)
- CVE-2026-115919: ONNX: Out-of-Bounds Read in RNN/GRU/LSTM Shape Inference (Old Opsets, Missing Rank Check) (CVSS 6.2 · EPSS 0%)
- CVE-2026-115920: ONNX: Out-of-bounds read in ConvTranspose shape inference via undersized weight rank (CVSS 6.2 · EPSS 0%)
- CVE-2026-115921: ONNX: Null Pointer Dereference in ScanInferenceFunction Due to Missing Required Attribute (CVSS 6.2 · EPSS 0%)
The fix
Upgrade onnx: 1.22.0 or later on your release line
Who is exposed: onnx (pip) <= 1.21.0
Where it stands
- No known exploitation
Connects to
- Same weakness: CWE-789 (CWE-789). 54 other warnings in 30 days
Why it is Yellow
- CVSS 6.2 medium
- On your watchlist: python, PyPI
Affected packages
| Package | Ecosystem | Vulnerable | Fixed in |
|---|---|---|---|
| onnx | pip | <= 1.21.0 | 1.22.0 |
References
- https://github.com/onnx/onnx/commit/05c1bc3bceceb8d3cf11e9e7fc7f19f971c44988
- https://github.com/onnx/onnx/commit/8de2cf6aa47928e6515ac6d9e1a8b4758886a7df
- https://github.com/onnx/onnx/commit/dce5876d6cc6cc30157af7d26a752ef44976da8e
- https://github.com/onnx/onnx/pull/8033
- https://github.com/onnx/onnx/pull/8038
- https://github.com/onnx/onnx/pull/8066
- https://github.com/onnx/onnx/releases/tag/v1.22.0
- https://github.com/onnx/onnx/security/advisories/GHSA-q69g-f4f5-v8m7
- https://github.com/advisories/GHSA-q69g-f4f5-v8m7
- https://nvd.nist.gov/vuln/detail/CVE-2026-115922
Original description
Open Neural Network Exchange (ONNX) is an open standard for machine learning interoperability. Prior to 1.22.0, _unpack_2bit() and _unpack_4bit() resize unpacked arrays according to attacker-controlled TensorProto.dims without verifying that raw_data or int32_data encodes the declared number of elements. Materializing an untrusted UINT2, INT2, UINT4, INT4, or FLOAT4E2M1 tensor through onnx.numpy_helper.to_array() or onnx.reference.ReferenceEvaluator can therefore expand a small packed payload into a disproportionately large allocation and exhaust memory. This issue is fixed in version 1.22.0.
Last activity 28 Oct 2026. Patch Forecast updates every hour.