libheif is a HEIF and AVIF file format decoder and encoder. From 1.19.0 until 1.23.2, crafted HEIF or AVIF mime metadata and unci image data can cause decompress_brotli() and do_inflate() to grow accumulated output without an effective size limit or MemoryHandle accounting. The brotli path has no output bound, while the zlib path checks only a small temporary buffer in a branch that valid streams do not reach, and overlapping icef units can decompress the same payload repeatedly. HeifContext::interpret_heif_file_images() processes multiple compressed metadata items during file opening, allowing a small file to consume unbounded memory and terminate the process. This issue is fixed in version 1.23.2.
The product does not handle or incorrectly handles a compressed input with a very high compression ratio that produces a large output.
| Name | Vendor | Start Version | End Version |
|---|---|---|---|
| Libheif | Ubuntu | noble | * |
| Libheif | Ubuntu | resolute | * |
| Libheif | Ubuntu | upstream | * |