{"id":"CVE-2026-62291","title":"libheif is a HEIF and AVIF file format decoder and encoder","summary":"libheif is a HEIF and AVIF file format decoder and encoder. In 1.23.0 and earlier, a crafted image sequence with a 2x2 primary plane and a 256x256 auxiliary alpha plane can cause attacker-controlled heap corruption during a normal decode…","severity":"medium","cvss":5.3,"cvssVector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:L","cwe":["CWE-125","CWE-787"],"published":"2026-08-18","updated":"2026-09-09","sourceUpdated":"2026-09-09T21:13:25.910","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-62291","references":[{"url":"https://github.com/strukturag/libheif/commit/ac5521ad50399885de96bb6a0733a5d2442740f9","label":"security-advisories@github.com"},{"url":"https://github.com/strukturag/libheif/releases/tag/v1.23.1","label":"security-advisories@github.com"},{"url":"https://github.com/strukturag/libheif/security/advisories/GHSA-xpw3-9rhw-482x","label":"security-advisories@github.com"},{"url":"https://github.com/strukturag/libheif/security/advisories/GHSA-xpw3-9rhw-482x","label":"134c704f-9b21-4f2e-91b3-4a467353bcc0"}],"tags":["nvd"],"epss":0.00164,"epssPercentile":0.04961,"ingestedAt":"2026-09-09T21:22:45.538Z","slug":"CVE-2026-62291","body":"## Overview\n\nlibheif is a HEIF and AVIF file format decoder and encoder. In 1.23.0 and earlier, a crafted image sequence with a 2x2 primary plane and a 256x256 auxiliary alpha plane can cause attacker-controlled heap corruption during a normal decode and re-encode workflow. Track_Visual::decode_next_image_sample() calls transfer_channel_from_image_as() without checking that the auxiliary alpha dimensions match the main frame. The resulting inconsistent image reaches heif_track_decode_next_image() and then heif_context_encode_image(). In unc_encoder::encode(), unc_encoder_component_interleave::encode_tile() sizes its buffer with compute_tile_data_size_bytes() using the primary dimensions but copies each component using its actual plane dimensions. The oversized alpha plane is therefore copied beyond the allocation, causing an out-of-bounds write; the inverse size mismatch can also produce an out-of-bounds read. This issue is fixed in version 1.23.1.\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"sunlit","depthScore":29,"depthScoreParts":{"impact":29.2,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}