What’s Vulnerable › Vulnerabilities
CVE-2025-46333: z2d OOB composition could lead to invalid memory access and corruption
- Severity: high (CVSS 7.3 v4.0)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.2% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2025-04-25 · updated 2026-06-17
- Weakness: CWE-119
Description
z2d is a pure Zig 2D graphics library. Versions of z2d after `0.5.1` and up to and including `0.6.0`, when writing from one surface to another using `z2d.compositor.StrideCompositor.run`, and higher-level operations when the anti-aliasing mode is set to `.default` (such as `Context.fill`, `Context.stroke`, `painter.fill`, and `painter.stroke`), the source surface can be completely out-of-bounds on the x-axis, but not on the y-axis, by way of a negative offset. This results in an overflow of the value controlling the length of the stride. In non-safe optimization modes (consumers compiling with `ReleaseFast` or `ReleaseSmall`), this could potentially lead to invalid memory accesses or corruption. This issue is patched in version `0.6.1`. Users on an untagged version after `v0.5.1` and before `v0.6.1` are advised to update to address the vulnerability. Those still on Zig `0.13.0` are recommended to downgrade to `v0.5.1`.
Affected products
- vancluever z2d: > 0.5.1, <= 0.6.0
References
- https://github.com/vancluever/z2d/issues/104
- https://github.com/vancluever/z2d/issues/105
- https://github.com/vancluever/z2d/security/advisories/GHSA-mm4c-p35v-7hx3
Get alerted when CVE-2025-46333 or the next vulnerability affects your stack