libheif: patch CVE-2026-32738

Backport commit identified by Debian[1]

Details:
https://nvd.nist.gov/vuln/detail/cve-2026-32738

[1]https://security-tracker.debian.org/tracker/CVE-2026-32738

Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
Signed-off-by: Anuj Mittal <anuj.mittal@oss.qualcomm.com>
This commit is contained in:
Ankur Tyagi authored and Anuj Mittal committed 2026-09-15 07:52:07 +05:30
1 parent 635e8fd545
commit 18e20ab7d2
2 files changed
+33

No files matched your search

@@ -0,0 +1,32 @@
From 95a7008c89335ca97fc22ab8caab5d62b077a34f Mon Sep 17 00:00:00 2001
From: Dirk Farin <dirk.farin@gmail.com>
Date: Sat, 14 Mar 2026 20:32:39 +0100
Subject: [PATCH] check that 'stsc' box does not have zero samples per chunk
(cherry picked from commit bdaa37728442800497ea224bd232ca25e2f9bdff)
CVE: CVE-2026-32738
Upstream-Status: Backport [https://github.com/strukturag/libheif/commit/bdaa37728442800497ea224bd232ca25e2f9bdff]
Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
---
libheif/sequences/seq_boxes.cc | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/libheif/sequences/seq_boxes.cc b/libheif/sequences/seq_boxes.cc
index aec84fd5..91865848 100644
--- a/libheif/sequences/seq_boxes.cc
+++ b/libheif/sequences/seq_boxes.cc
@@ -875,6 +875,13 @@ Error Box_stsc::parse(BitstreamRange& range, const heif_security_limits* limits)
entry.samples_per_chunk = range.read32();
entry.sample_description_index = range.read32();
+ if (entry.samples_per_chunk == 0) {
+ return {
+ heif_error_Invalid_input,
+ heif_suberror_Unspecified,
+ "'stsc' box with zero samples per chunk entry."};
+ }
+
if (entry.sample_description_index == 0) {
return {
heif_error_Invalid_input,
@@ -8,6 +8,7 @@ COMPATIBLE_MACHINE:powerpc64le = "null"
SRC_URI = "git://github.com/strukturag/libheif.git;protocol=https;branch=master;tag=v${PV} \
file://CVE-2026-3949.patch \
file://CVE-2026-32738.patch \
"
SRCREV = "62f1b8c76ed4d8305071fdacbe74ef9717bacac5"