CVE-2026-115919 · GHSA-48m4-24cq-37qf
ONNX: Out-of-Bounds Read in RNN/GRU/LSTM Shape Inference (Old Opsets, Missing Rank Check)
- Risk score
- 44/100
- CVSS
- 6.2 v3.1
- Exploit chance (30 days)
- 0.2%
- 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, 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 access…
- 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-115919: ONNX: Out-of-Bounds Read in RNN/GRU/LSTM Shape Inference (Old Opsets, Missing Rank Check) (CVSS 6.2 · EPSS 0%)
- 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-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: Out-of-bounds read (CWE-125). 398 other warnings in 30 days
Why it is Yellow
- CVSS 6.2 medium
- On your watchlist: PyPI
Affected packages
| Package | Ecosystem | Vulnerable | Fixed in |
|---|---|---|---|
| onnx | pip | <= 1.21.0 | 1.22.0 |
References
- https://github.com/onnx/onnx/commit/92e541266af5dd38cfa48aeb92206f4268a066cd
- https://github.com/onnx/onnx/pull/7879
- https://github.com/onnx/onnx/releases/tag/v1.22.0
- https://github.com/onnx/onnx/security/advisories/GHSA-48m4-24cq-37qf
- https://github.com/advisories/GHSA-48m4-24cq-37qf
- https://nvd.nist.gov/vuln/detail/CVE-2026-115919
- https://github.com/advisories/GHSA-48m4-24cq-37qf
Original description
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.
Last activity 28 Oct 2026. Patch Forecast updates every hour.