Package: release.debian.org
Severity: normal
Tags: bookworm
X-Debbugs-Cc: [email protected], [email protected]
Control: affects -1 + src:kissfft
User: [email protected]
Usertags: pu
* CVE-2025-34297: Integer Overflow on 32-bit Systems
(Closes: #1131147)
* CVE-2026-41445: Integer Overflow in kiss_fftndr_alloc()
(Closes: #1134493)
cmake_4.patch is disabled in debian/patches/series,
the other changes from 131.1.0-4 look harmless enough.
diffstat for kissfft-131.1.0 kissfft-131.1.0
changelog | 33
++++
control | 4
copyright | 4
gitlab-ci.yml | 6
patches/0001-check-for-overflow-on-32-bit-platform-closes-120.patch | 36
++++
patches/0002-kiss_fftndr_alloc-check-for-overflow-and-_perhaps_-l.patch | 82
++++++++++
patches/cmake_4.patch | 27
+++
patches/series | 3
salsa-ci.yml | 3
9 files changed, 188 insertions(+), 10 deletions(-)
diff -Nru kissfft-131.1.0/debian/changelog kissfft-131.1.0/debian/changelog
--- kissfft-131.1.0/debian/changelog 2022-11-18 23:57:24.000000000 +0200
+++ kissfft-131.1.0/debian/changelog 2026-05-09 17:40:20.000000000 +0300
@@ -1,3 +1,36 @@
+kissfft (131.1.0-4.1~deb12u1) bookworm; urgency=medium
+
+ * Non-maintainer upload.
+ * Rebuild for bookworm.
+ - Drop the CMake 4 fix.
+
+ -- Adrian Bunk <[email protected]> Sat, 09 May 2026 17:40:20 +0300
+
+kissfft (131.1.0-4.1) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * CVE-2025-34297: Integer Overflow on 32-bit Systems
+ (Closes: #1131147)
+ * CVE-2026-41445: Integer Overflow in kiss_fftndr_alloc()
+ (Closes: #1134493)
+
+ -- Adrian Bunk <[email protected]> Thu, 07 May 2026 14:02:10 +0300
+
+kissfft (131.1.0-4) unstable; urgency=medium
+
+ * Team upload.
+
+ [ Vasyl Gello ]
+ * Fix lintian warnings
+
+ [ Dylan Aïssi ]
+ * Cherry-pick upstream patch to improve compatibility with cmake 4
+ * Update debian/salsa-ci.yml
+ * Switch Build-Dep from pkg-config to pkgconf
+ * Standards-Version: 4.7.2 (routine-update)
+
+ -- Dylan Aïssi <[email protected]> Thu, 25 Sep 2025 23:32:11 +0200
+
kissfft (131.1.0-3) unstable; urgency=medium
* [DNM] Try unmerged PRs
diff -Nru kissfft-131.1.0/debian/control kissfft-131.1.0/debian/control
--- kissfft-131.1.0/debian/control 2021-10-07 16:30:50.000000000 +0300
+++ kissfft-131.1.0/debian/control 2025-09-26 00:32:11.000000000 +0300
@@ -9,10 +9,10 @@
debhelper-compat (= 13),
libfftw3-dev,
libpng-dev,
- pkg-config,
+ pkgconf,
python3,
python3-numpy,
-Standards-Version: 4.6.0
+Standards-Version: 4.7.2
Rules-Requires-Root: no
Homepage: https://github.com/mborgerding/kissfft
Vcs-Git: https://salsa.debian.org/multimedia-team/kissfft.git
diff -Nru kissfft-131.1.0/debian/copyright kissfft-131.1.0/debian/copyright
--- kissfft-131.1.0/debian/copyright 2021-01-15 04:04:49.000000000 +0200
+++ kissfft-131.1.0/debian/copyright 2025-09-26 00:32:11.000000000 +0300
@@ -3,13 +3,13 @@
Source: https://github.com/mborgerding/kissfft
Files: *
-Copyright: 2003-2020, Mark Borgerding
+Copyright: 2003-2022, Mark Borgerding
License: BSD-3-clause
Comment: Full list of contributors available from
Github commit history
Files: debian/*
-Copyright: 2020 Vasyl Gello <[email protected]>
+Copyright: 2020-2022 Vasyl Gello <[email protected]>
License: BSD-3-clause
Comment: License text retrieved from upstream LICENSES/BSD-3-Clause file
diff -Nru kissfft-131.1.0/debian/gitlab-ci.yml
kissfft-131.1.0/debian/gitlab-ci.yml
--- kissfft-131.1.0/debian/gitlab-ci.yml 2021-01-15 04:04:49.000000000
+0200
+++ kissfft-131.1.0/debian/gitlab-ci.yml 1970-01-01 02:00:00.000000000
+0200
@@ -1,6 +0,0 @@
-include:
- - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml
- - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml
-
-variables:
- RELEASE: 'unstable'
diff -Nru
kissfft-131.1.0/debian/patches/0001-check-for-overflow-on-32-bit-platform-closes-120.patch
kissfft-131.1.0/debian/patches/0001-check-for-overflow-on-32-bit-platform-closes-120.patch
---
kissfft-131.1.0/debian/patches/0001-check-for-overflow-on-32-bit-platform-closes-120.patch
1970-01-01 02:00:00.000000000 +0200
+++
kissfft-131.1.0/debian/patches/0001-check-for-overflow-on-32-bit-platform-closes-120.patch
2026-05-07 14:01:40.000000000 +0300
@@ -0,0 +1,36 @@
+From 9a13b3b7f8568ebdad4508447708ce6f509667ee Mon Sep 17 00:00:00 2001
+From: Mark Borgerding <[email protected]>
+Date: Wed, 26 Nov 2025 10:39:17 -0500
+Subject: check for overflow on 32 bit platform (closes #120)
+
+---
+ kiss_fft.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/kiss_fft.c b/kiss_fft.c
+index 58c24a0..aba63e0 100644
+--- a/kiss_fft.c
++++ b/kiss_fft.c
+@@ -6,7 +6,7 @@
+ * See COPYING file for more information.
+ */
+
+-
++#include <stdint.h>
+ #include "_kiss_fft_guts.h"
+ /* The guts header contains all the multiplication and addition macros that
are defined for
+ fixed or floating point complex numbers. It also delares the kf_ internal
functions.
+@@ -339,6 +339,10 @@ kiss_fft_cfg kiss_fft_alloc(int nfft,int inverse_fft,void
* mem,size_t * lenmem
+ KISS_FFT_ALIGN_CHECK(mem)
+
+ kiss_fft_cfg st=NULL;
++ // check for overflow condition {memneeded > SIZE_MAX}.
++ if (nfft >= (SIZE_MAX - 2*sizeof(struct
kiss_fft_state))/sizeof(kiss_fft_cpx))
++ return NULL;
++
+ size_t memneeded = KISS_FFT_ALIGN_SIZE_UP(sizeof(struct kiss_fft_state)
+ + sizeof(kiss_fft_cpx)*(nfft-1)); /* twiddle factors*/
+
+--
+2.47.3
+
diff -Nru
kissfft-131.1.0/debian/patches/0002-kiss_fftndr_alloc-check-for-overflow-and-_perhaps_-l.patch
kissfft-131.1.0/debian/patches/0002-kiss_fftndr_alloc-check-for-overflow-and-_perhaps_-l.patch
---
kissfft-131.1.0/debian/patches/0002-kiss_fftndr_alloc-check-for-overflow-and-_perhaps_-l.patch
1970-01-01 02:00:00.000000000 +0200
+++
kissfft-131.1.0/debian/patches/0002-kiss_fftndr_alloc-check-for-overflow-and-_perhaps_-l.patch
2026-05-07 14:01:40.000000000 +0300
@@ -0,0 +1,82 @@
+From 566bef407b555cc2a6a9b492f01676c8167b317e Mon Sep 17 00:00:00 2001
+From: Mark Borgerding <[email protected]>
+Date: Sat, 31 Jan 2026 16:06:10 -0500
+Subject: kiss_fftndr_alloc: check for overflow (and _perhaps_ let combined
+ dims > INT_MAX)
+
+---
+ kiss_fftndr.c | 28 ++++++++++++++++++++--------
+ 1 file changed, 20 insertions(+), 8 deletions(-)
+
+diff --git a/kiss_fftndr.c b/kiss_fftndr.c
+index e979d03..c1cd27b 100644
+--- a/kiss_fftndr.c
++++ b/kiss_fftndr.c
+@@ -13,15 +13,15 @@
+ struct kiss_fftndr_state
+ {
+ int dimReal;
+- int dimOther;
++ size_t dimOther;
+ kiss_fftr_cfg cfg_r;
+ kiss_fftnd_cfg cfg_nd;
+ void * tmpbuf;
+ };
+
+-static int prod(const int *dims, int ndims)
++static size_t prod(const int *dims, int ndims)
+ {
+- int x=1;
++ size_t x=1;
+ while (ndims--)
+ x *= *dims++;
+ return x;
+@@ -34,18 +34,30 @@ kiss_fftndr_cfg kiss_fftndr_alloc(const int *dims,int
ndims,int inverse_fft,void
+ kiss_fftndr_cfg st = NULL;
+ size_t nr=0 , nd=0,ntmp=0;
+ int dimReal = dims[ndims-1];
+- int dimOther = prod(dims,ndims-1);
++ size_t dimOther = prod(dims,ndims-1);
+ size_t memneeded;
+ char * ptr = NULL;
++ int k,check;
+
+ (void)kiss_fftr_alloc(dimReal,inverse_fft,NULL,&nr);
+ (void)kiss_fftnd_alloc(dims,ndims-1,inverse_fft,NULL,&nd);
+ ntmp =
+ MAX( 2*dimOther , dimReal+2) * sizeof(kiss_fft_scalar) // freq
buffer for one pass
+- + dimOther*(dimReal+2) * sizeof(kiss_fft_scalar); // large enough to
hold entire input in case of in-place
++ + dimOther*(size_t)(dimReal+2) * sizeof(kiss_fft_scalar); // large
enough to hold entire input in case of in-place
+
+ memneeded = KISS_FFT_ALIGN_SIZE_UP(sizeof( struct kiss_fftndr_state )) +
KISS_FFT_ALIGN_SIZE_UP(nr) + KISS_FFT_ALIGN_SIZE_UP(nd) +
KISS_FFT_ALIGN_SIZE_UP(ntmp);
+
++ /* check for overflow */
++ check = memneeded;
++ for (k=0;k<ndims;++k) {
++ check /= dims[k];
++ if (check <= sizeof(kiss_fft_scalar)) {
++ if (lenmem!=NULL)
++ *lenmem = (size_t)(-1);
++ return NULL;
++ }
++ }
++
+ if (lenmem==NULL) {
+ ptr = (char*) malloc(memneeded);
+ }else{
+@@ -73,9 +85,9 @@ kiss_fftndr_cfg kiss_fftndr_alloc(const int *dims,int
ndims,int inverse_fft,void
+
+ void kiss_fftndr(kiss_fftndr_cfg st,const kiss_fft_scalar
*timedata,kiss_fft_cpx *freqdata)
+ {
+- int k1,k2;
+- int dimReal = st->dimReal;
+- int dimOther = st->dimOther;
++ size_t k1,k2;
++ size_t dimReal = (size_t)st->dimReal;
++ size_t dimOther = st->dimOther;
+ int nrbins = dimReal/2+1;
+
+ kiss_fft_cpx * tmp1 = (kiss_fft_cpx*)st->tmpbuf;
+--
+2.47.3
+
diff -Nru kissfft-131.1.0/debian/patches/cmake_4.patch
kissfft-131.1.0/debian/patches/cmake_4.patch
--- kissfft-131.1.0/debian/patches/cmake_4.patch 1970-01-01
02:00:00.000000000 +0200
+++ kissfft-131.1.0/debian/patches/cmake_4.patch 2025-09-26
00:32:11.000000000 +0300
@@ -0,0 +1,27 @@
+From c519408e76191e1ffc301f6edcbd14559b8da298 Mon Sep 17 00:00:00 2001
+From: Christophe Marin <[email protected]>
+Date: Fri, 12 Sep 2025 07:15:57 +0200
+Subject: [PATCH] kissfft-config.cmake: Bump minimum version to 3.10
+Forwarded: https://github.com/mborgerding/kissfft/pull/101
+Origin: upstream, https://github.com/mborgerding/kissfft/commit/c519408
+
+---------
+
+Co-authored-by: Martin <[email protected]>
+---
+ kissfft-config.cmake.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/kissfft-config.cmake.in b/kissfft-config.cmake.in
+index cd7139a..157fe75 100644
+--- a/kissfft-config.cmake.in
++++ b/kissfft-config.cmake.in
+@@ -24,7 +24,7 @@
+
+ @PACKAGE_INIT@
+
+-cmake_minimum_required(VERSION 3.3)
++cmake_minimum_required(VERSION 3.10)
+
+ # Set include glob of config files using SHARED/static component,
BUILD_SHARED_LIBS by default
+ set(_kissfft_shared_detected OFF)
diff -Nru kissfft-131.1.0/debian/patches/series
kissfft-131.1.0/debian/patches/series
--- kissfft-131.1.0/debian/patches/series 2022-11-18 23:57:24.000000000
+0200
+++ kissfft-131.1.0/debian/patches/series 2026-05-09 17:40:20.000000000
+0300
@@ -2,3 +2,6 @@
0002-PR69.patch
0003-PR70.patch
0004-libm.diff
+#cmake_4.patch
+0001-check-for-overflow-on-32-bit-platform-closes-120.patch
+0002-kiss_fftndr_alloc-check-for-overflow-and-_perhaps_-l.patch
diff -Nru kissfft-131.1.0/debian/salsa-ci.yml
kissfft-131.1.0/debian/salsa-ci.yml
--- kissfft-131.1.0/debian/salsa-ci.yml 1970-01-01 02:00:00.000000000 +0200
+++ kissfft-131.1.0/debian/salsa-ci.yml 2025-09-26 00:32:11.000000000 +0300
@@ -0,0 +1,3 @@
+---
+include:
+ -
https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/recipes/debian.yml