libheif is a HEIF and AVIF file format decoder and encoder. In versions 1.21.2 and prior, the inline mask parsing code in `libheif/region.cc` contains an integer overflow. Both `width` and `height` are `unsigned int` (32-bit) values parsed from the HEIF file. Their product can exceed `UINT32_MAX`, wrapping to a small value before the division by 8. This causes an undersized buffer allocation, leading to out-of-bounds memory access when the mask data is later interpreted as a `width x height` bitmap. Version 1.22.0 patches the issue.
Fix
Patch, vendor advisory and mitigation references on NVD 1
- https://github.com/strukturag/libheif/security/advisories/GHSA-h4wm-6wwf-qvhx Mitigation, Vendor Advisory
Every line above is quoted from NVD, CISA, Microsoft, the vendor's own advisory or DISA; nothing is generated.
Change history 1
- First seenCVSS 6.1 · strukturNVD modified 2026-10-24 19:10
Affected (CPE criteria) 1
cpe:2.3:a:struktur:libheif:*:*:*:*:*:*:*:*
References 1
- https://github.com/strukturag/libheif/security/advisories/GHSA-h4wm-6wwf-qvhx Mitigation, Vendor Advisory