CVE-2026-50142
Full vulnerability record from the local CVENow database.
Description
libheif is a HEIF and AVIF file format decoder and encoder. From 1.19.0 until 1.23.0, a crafted HEIF sequence accepted by heif_context_read_from_memory() with the msf1 sequence brand can cause unbounded heap allocation. In libheif/sequences/seq_boxes.cc, Box_stsz::parse() applies max_sequence_frames only to variable-size samples, so fixed-size mode accepts an attacker-controlled sample_count without a bound. In libheif/sequences/track.cc, Track::load() also adds current_sample_idx and samples_per_chunk in 32-bit arithmetic, allowing the consistency check to be bypassed by wraparound. The resulting values reach the Chunk::Chunk() allocation path, which can consume gigabytes of memory and crash or stall the process through memory exhaustion. This issue is fixed in version 1.23.0.
View original CVE JSON
{
"id": "CVE-2026-50142",
"sourceIdentifier": "[email protected]",
"published": "2026-08-18T22:16:52.633",
"lastModified": "2026-10-22T17:09:59.477",
"vulnStatus": "Deferred",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "libheif is a HEIF and AVIF file format decoder and encoder. From 1.19.0 until 1.23.0, a crafted HEIF sequence accepted by heif_context_read_from_memory() with the msf1 sequence brand can cause unbounded heap allocation. In libheif/sequences/seq_boxes.cc, Box_stsz::parse() applies max_sequence_frames only to variable-size samples, so fixed-size mode accepts an attacker-controlled sample_count without a bound. In libheif/sequences/track.cc, Track::load() also adds current_sample_idx and samples_per_chunk in 32-bit arithmetic, allowing the consistency check to be bypassed by wraparound. The resulting values reach the Chunk::Chunk() allocation path, which can consume gigabytes of memory and crash or stall the process through memory exhaustion. This issue is fixed in version 1.23.0."
},
{
"lang": "es",
"value": "libheif es un decodificador y codificador de formato de archivo HEIF y AVIF. Desde la 1.19.0 hasta la 1.23.0, una secuencia HEIF manipulada aceptada por heif_context_read_from_memory() con la marca de secuencia msf1 puede causar una asignación de memoria dinámica (heap) ilimitada. En libheif/sequences/seq_boxes.cc, Box_stsz::parse() aplica max_sequence_frames solo a muestras de tamaño variable, por lo que el modo de tamaño fijo acepta un sample_count controlado por el atacante sin un límite. En libheif/sequences/track.cc, Track::load() también suma current_sample_idx y samples_per_chunk en aritmética de 32 bits, permitiendo que la verificación de consistencia sea eludida por desbordamiento. Los valores resultantes alcanzan la ruta de asignación de Chunk::Chunk(), lo que puede consumir gigabytes de memoria y bloquear o paralizar el proceso por agotamiento de memoria. Este problema está solucionado en la versión 1.23.0."
}
],
"affected": [
{
"source": "[email protected]",
"affectedData": [
{
"vendor": "strukturag",
"product": "libheif",
"versions": [
{
"version": ">= 1.19.0, < 1.23.0",
"status": "affected"
}
]
}
]
}
],
"metrics": {
"cvssMetricV31": [
{
"source": "[email protected]",
"type": "Secondary",
"cvssData": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
"baseScore": 7.5,
"baseSeverity": "HIGH",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"privilegesRequired": "NONE",
"userInteraction": "NONE",
"scope": "UNCHANGED",
"confidentialityImpact": "NONE",
"integrityImpact": "NONE",
"availabilityImpact": "HIGH"
},
"exploitabilityScore": 3.9,
"impactScore": 3.6
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"timestamp": "2026-08-19T18:51:41.872528Z",
"id": "CVE-2026-50142",
"options": [
{
"exploitation": "none"
},
{
"automatable": "yes"
},
{
"technicalImpact": "partial"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
]
},
"weaknesses": [
{
"source": "[email protected]",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-190"
},
{
"lang": "en",
"value": "CWE-770"
}
]
}
],
"references": [
{
"url": "https://github.com/strukturag/libheif/commit/a6caa38f7a70d66dc9caec2a7bfe20935b32c622",
"source": "[email protected]"
},
{
"url": "https://github.com/strukturag/libheif/releases/tag/v1.23.0",
"source": "[email protected]"
},
{
"url": "https://github.com/strukturag/libheif/security/advisories/GHSA-jvmp-j3cw-84mh",
"source": "[email protected]"
}
]
}