GPU VulnDB

Database/AI/ML frameworks & serving

ONNX: packed low-bit tensor expands to an unbounded allocation and exhausts host memory

CVSS 6.2CVE-2026-115922AI/ML frameworks & servingcurated

Impact

_unpack_2bit() and _unpack_4bit() size the output array from the attacker-controlled TensorProto.dims without checking that raw_data or int32_data actually holds that many elements. A small UINT2/INT2/UINT4/INT4/FLOAT4E2M1 tensor with inflated dims therefore expands into a disproportionately large allocation when a model is materialized through onnx.numpy_helper.to_array() or onnx.reference.ReferenceEvaluator. The result is memory exhaustion in the process - and on a container-packed GPU node, an OOM kill that can take neighbouring pods with it if the memory cgroup is shared or generous. This is a distinct bug from the Scan shape-inference flaw fixed in the same release: different code path, different trigger, different commits.

Who can reach it

Local to the process loading the model: anyone who can supply an ONNX model that gets converted with numpy_helper.to_array() or evaluated with ReferenceEvaluator. No host privileges required.

What to do

Upgrade onnx to 1.22.0 and restart the model-loading services. Process restart only. Before patching, run untrusted model conversion in a container with a hard memory limit so an OOM is contained to that pod, and avoid ReferenceEvaluator on tenant-supplied quantized models.

References

Related entries

All AI/ML frameworks & serving entries

This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.