libraw: patch CVE-2025-43964

Details https://nvd.nist.gov/vuln/detail/CVE-2025-43964

Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
This commit is contained in:
Ankur Tyagi 2025-10-10 14:25:13 +13:00 committed by Gyorgy Sarvari
parent 287ed36b86
commit 95f680e0df
2 changed files with 30 additions and 0 deletions

View File

@ -0,0 +1,29 @@
From 0ecd9906f70114a974809bb35b4ec9fe7fed9011 Mon Sep 17 00:00:00 2001
From: Alex Tutubalin <lexa@lexa.ru>
Date: Sun, 2 Mar 2025 11:35:43 +0300
Subject: [PATCH] CVE-2025-43964
additional checks in PhaseOne correction tag 0x412 processing
CVE: CVE-2025-43964
Upstream-Status: Backport [https://github.com/LibRaw/LibRaw/commit/a50dc3f1127d2e37a9b39f57ad9bb2ebb60f18c0]
(cherry picked from commit a50dc3f1127d2e37a9b39f57ad9bb2ebb60f18c0)
Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
---
src/decoders/load_mfbacks.cpp | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/decoders/load_mfbacks.cpp b/src/decoders/load_mfbacks.cpp
index f89aecce..95015d27 100644
--- a/src/decoders/load_mfbacks.cpp
+++ b/src/decoders/load_mfbacks.cpp
@@ -495,6 +495,8 @@ int LibRaw::phase_one_correct()
unsigned w0 = head[1] * head[3], w1 = head[2] * head[4];
if (w0 > 10240000 || w1 > 10240000)
throw LIBRAW_EXCEPTION_ALLOC;
+ if (w0 < 1 || w1 < 1)
+ throw LIBRAW_EXCEPTION_IO_CORRUPT;
yval[0] = (float *)calloc(head[1] * head[3] + head[2] * head[4], 6);
yval[1] = (float *)(yval[0] + head[1] * head[3]);
xval[0] = (ushort *)(yval[1] + head[2] * head[4]);

View File

@ -6,6 +6,7 @@ SRC_URI = " \
git://github.com/LibRaw/LibRaw.git;branch=0.21-stable;protocol=https \
file://0001-CVE-2025-43961-CVE-2025-43962.patch \
file://0002-CVE-2025-43963.patch \
file://0003-CVE-2025-43964.patch \
"
SRCREV = "1ef70158d7fde1ced6aaddb0b9443c32a7121d3d"
S = "${WORKDIR}/git"