{"id":"CVE-2025-46333","state":"PUBLISHED","title":"z2d OOB composition could lead to invalid memory access and corruption","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.\n\nThis 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`.","publishedAt":"2025-04-25T20:20:22.202Z","updatedAt":"2025-04-28T14:17:45.653Z","severity":{"score":7.3,"label":"High","version":"4.0","vector":"CVSS:4.0/AV:L/AC:H/AT:P/PR:L/UI:P/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H","source":"GitHub_M"},"assigner":"GitHub_M","products":["vancluever z2d"],"affected":[{"vendor":"vancluever","product":"z2d","versions":[{"version":"> 0.5.1, <= 0.6.0","status":"affected"}]}],"references":["https://github.com/vancluever/z2d/security/advisories/GHSA-mm4c-p35v-7hx3","https://github.com/vancluever/z2d/issues/104","https://github.com/vancluever/z2d/issues/105"],"weaknesses":["CWE-119","CWE-122","CWE-190"],"ingestedAt":"2026-10-29T20:09:17.366Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2025/46xxx/CVE-2025-46333.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.1","cveMetadata":{"cveId":"CVE-2025-46333","state":"PUBLISHED","datePublished":"2025-04-25T20:20:22.202Z","dateUpdated":"2025-04-28T14:17:45.653Z","assignerShortName":"GitHub_M","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateReserved":"2025-04-22T22:41:54.911Z"},"containers":{"cna":{"title":"z2d OOB composition could lead to invalid memory access and corruption","descriptions":[{"lang":"en","value":"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.\n\nThis 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":[{"vendor":"vancluever","product":"z2d","versions":[{"version":"> 0.5.1, <= 0.6.0","status":"affected"}]}],"references":[{"url":"https://github.com/vancluever/z2d/security/advisories/GHSA-mm4c-p35v-7hx3","name":"https://github.com/vancluever/z2d/security/advisories/GHSA-mm4c-p35v-7hx3","tags":["x_refsource_CONFIRM"]},{"url":"https://github.com/vancluever/z2d/issues/104","name":"https://github.com/vancluever/z2d/issues/104","tags":["x_refsource_MISC"]},{"url":"https://github.com/vancluever/z2d/issues/105","name":"https://github.com/vancluever/z2d/issues/105","tags":["x_refsource_MISC"]}],"metrics":[{"cvssV4_0":{"attackVector":"LOCAL","attackComplexity":"HIGH","attackRequirements":"PRESENT","privilegesRequired":"LOW","userInteraction":"PASSIVE","vulnConfidentialityImpact":"HIGH","vulnIntegrityImpact":"HIGH","vulnAvailabilityImpact":"HIGH","subConfidentialityImpact":"HIGH","subIntegrityImpact":"HIGH","subAvailabilityImpact":"HIGH","baseScore":7.3,"baseSeverity":"HIGH","vectorString":"CVSS:4.0/AV:L/AC:H/AT:P/PR:L/UI:P/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H","version":"4.0"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-119","lang":"en","description":"CWE-119: Improper Restriction of Operations within the Bounds of a Memory Buffer","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-122","lang":"en","description":"CWE-122: Heap-based Buffer Overflow","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-190","lang":"en","description":"CWE-190: Integer Overflow or Wraparound","type":"CWE"}]}],"providerMetadata":{"shortName":"GitHub_M","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateUpdated":"2025-04-28T14:17:45.653Z"},"source":{"advisory":"GHSA-mm4c-p35v-7hx3","discovery":"UNKNOWN"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2025-04-25T21:36:42.840839Z","id":"CVE-2025-46333","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2025-04-25T21:42:11.412Z"}}]}}}