poppler: fix CVE-2025-32364

A floating-point exception in the PSStack::roll function of
Poppler before 25.04.0 can cause an application to crash when
handling malformed inputs associated with INT_MIN.

Reference:
https://nvd.nist.gov/vuln/detail/CVE-2025-32364

Upstream patch:
d87bc726c7

Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
This commit is contained in:
Yogita Urade
2025-04-21 10:39:08 +00:00
committed by Armin Kuster
parent e42549cef3
commit 84fc57bacc
2 changed files with 29 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
From d87bc726c7cc98f8c26b60ece5f20236e9de1bc3 Mon Sep 17 00:00:00 2001
From: Albert Astals Cid <aacid@kde.org>
Date: Mon, 24 Mar 2025 00:44:54 +0100
Subject: [PATCH] PSStack::roll: Protect against doing int = -INT_MIN
CVE: CVE-2025-32364
Upstream-Status: Backport [https://gitlab.freedesktop.org/poppler/poppler/-/commit/d87bc726c7cc98f8c26b60ece5f20236e9de1bc3]
Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
---
poppler/Function.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/poppler/Function.cc b/poppler/Function.cc
index b97ad71..3ee99d6 100644
--- a/poppler/Function.cc
+++ b/poppler/Function.cc
@@ -1066,7 +1066,7 @@ void PSStack::roll(int n, int j)
PSObject obj;
int i, k;
- if (unlikely(n == 0)) {
+ if (unlikely(n == 0 || j == INT_MIN)) {
return;
}
if (j >= 0) {
--
2.40.0

View File

@@ -11,6 +11,7 @@ SRC_URI = "http://poppler.freedesktop.org/${BP}.tar.xz \
file://CVE-2024-6239-0001.patch \
file://CVE-2024-6239-0002.patch \
file://CVE-2024-56378.patch \
file://CVE-2025-32364.patch \
"
SRC_URI[sha256sum] = "813fb4b90e7bda63df53205c548602bae728887a60f4048aae4dbd9b1927deff"