CVE-2025-46333

z2d OOB composition could lead to invalid memory access and corruption

State
Published
Severity
7.3 High
Published
Apr 25, 2025
Updated
Apr 28, 2025
Reserved
Apr 22, 2025

Read the record on cve.org

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`.

Scores

CVSSScoreVectorSource
4.07.3 HighCVSS:4.0/AV:L/AC:H/AT:P/PR:L/UI:P/VC:H/VI:H/VA:H/SC:H/SI:H/SA:HGitHub_M

Weaknesses

  • CWE-119 Improper Restriction of Operations within the Bounds of a Memory Buffer
  • CWE-122 Heap-based Buffer Overflow
  • CWE-190 Integer Overflow or Wraparound

Affected Products

ProductVersions
z2dvancluever
  • > 0.5.1, <= 0.6.0Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.