GitHub Advisoryadvisory · Go
GHSA-xhj4-g6w8-2xjw go-zserio has Unbounded Memory Allocation for All Platforms
CRITICAL
Official page ↗
- Ecosystem
- Go
- Packages
- github.com/woven-planet/go-zserio
- Severity
- Critical
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Weaknesses
- CWE-789
- Reviewed
- 2026-04-24
Affected packages
• Go github.com/woven-planet/go-zserio: < 0.9.1 → fixed in 0.9.1
Description
Impact
When deserializing arrays, strings or bytes (blob) types zserio first reads the size of the variable, and then allocates sufficient memory to load data. Since the size is always trusted this can be abused by creating a data file with a large size value, causing the zserio runtime to allocate large amounts of memory.
Patches
Please apply this commit.
Workarounds
• Do not accept zserio data from non-trusted sources.
• Use secure transportation protocols (like TLS).
Related
Weakness · CWE (1)
- CWE-789 Memory Allocation with Excessive Size Value weakness