libheif is a HEIF and AVIF file format decoder and encoder. In 1.23.0 and earlier, a crafted HEIF sequence accepted by heif_context_read_from_memory() can leave the context with no registered sequence tracks and crash when heif_context_get_track(ctx, 0) is called. HeifContext::get_track() in libheif/context.cc executes assert(has_sequence()) before its normal error handling, so assert-enabled builds abort instead of allowing the public wrapper in libheif/api/libheif/heif_sequences.cc to return null. In release builds, removing the assertion lets the track_id zero path dereference m_tracks.begin()->second on an empty map, which is undefined behavior and typically crashes. The issue is reachable through documented public APIs after parsing attacker-controlled bytes. This issue is fixed in version 1.23.1.
{
"binaries": [
{
"binary_name": "heif-gdk-pixbuf",
"binary_version": "1.21.2-3ubuntu0.4"
},
{
"binary_name": "heif-thumbnailer",
"binary_version": "1.21.2-3ubuntu0.4"
},
{
"binary_name": "heif-view",
"binary_version": "1.21.2-3ubuntu0.4"
},
{
"binary_name": "libheif-examples",
"binary_version": "1.21.2-3ubuntu0.4"
},
{
"binary_name": "libheif-plugin-aomdec",
"binary_version": "1.21.2-3ubuntu0.4"
},
{
"binary_name": "libheif-plugin-aomenc",
"binary_version": "1.21.2-3ubuntu0.4"
},
{
"binary_name": "libheif-plugin-dav1d",
"binary_version": "1.21.2-3ubuntu0.4"
},
{
"binary_name": "libheif-plugin-ffmpegdec",
"binary_version": "1.21.2-3ubuntu0.4"
},
{
"binary_name": "libheif-plugin-j2kdec",
"binary_version": "1.21.2-3ubuntu0.4"
},
{
"binary_name": "libheif-plugin-j2kenc",
"binary_version": "1.21.2-3ubuntu0.4"
},
{
"binary_name": "libheif-plugin-jpegdec",
"binary_version": "1.21.2-3ubuntu0.4"
},
{
"binary_name": "libheif-plugin-jpegenc",
"binary_version": "1.21.2-3ubuntu0.4"
},
{
"binary_name": "libheif-plugin-kvazaar",
"binary_version": "1.21.2-3ubuntu0.4"
},
{
"binary_name": "libheif-plugin-libde265",
"binary_version": "1.21.2-3ubuntu0.4"
},
{
"binary_name": "libheif-plugin-rav1e",
"binary_version": "1.21.2-3ubuntu0.4"
},
{
"binary_name": "libheif-plugin-svtenc",
"binary_version": "1.21.2-3ubuntu0.4"
},
{
"binary_name": "libheif-plugin-x265",
"binary_version": "1.21.2-3ubuntu0.4"
},
{
"binary_name": "libheif-plugins-all",
"binary_version": "1.21.2-3ubuntu0.4"
},
{
"binary_name": "libheif1",
"binary_version": "1.21.2-3ubuntu0.4"
}
]
}