Hello all,

clamav 1.4.5+dfsg-3 is flagged for autoremoval from testing on 2026-09-21
because of this bug, and it takes seven reverse dependencies with it:
c-icap-modules, clamassassin, clamsmtp, clamtk, cyrus-imapd, e2guardian and
libclamunrar. I was working on the cyrus-imapd patch, and thought I'd also see if a contribution to clamav would be welcome.

Since I am not familiar with the git-dpm workflow, I just built it the way I know, as a plain source package (I am still new to packaging for Debian).

Upstream 1.4.6 (2026-08-07) fixes all five CVEs. Since the packaging branch had no 1.4.6 work yet, I have prepared 1.4.6+dfsg-1. I do not have upload rights, so I uploaded it to mentors.

  Source package: https://mentors.debian.net/package/clamav/

I have kept the diff to the minimum a security update needs, but also included commit 97a37bb2 from Salsa (d/ci: Disable blhc).

A debdiff is attached to this email.

Build:          I built this with sbuild in unstable.
Tests: The upstream testsuite passes (6/6 test suites, plus the Rust unit tests).
Lintian:                Compared to 1.4.5+dfsg-3, lintian reports two new tags:
                        `no-nmu-in-changelog` and 
`source-nmu-has-incorrect-version-number`.
                        Both are due to my name being in the changelog, but I 
am not a
                        Maintainer or Uploader.

Some points that I think are noteworthy:

* All four patches in debian/patches/series still apply to 1.4.6; none have
  been merged upstream. Only 0004-unit_tests-Don-t-set-TMP.patch needed a
  refresh (3-line offset).

* No ABI break. LIBCLAMAV_CURRENT:REVISION:AGE is 12:3:0 in both 1.4.5 and
  1.4.6. The SONAME stays libclamav.so.12.

* Your guard in override_dh_auto_configure did its job and stopped my first
  build: CL_FLEVEL went 215 -> 216 in 1.4.6. I followed the same treatment
  as 478677ef ("d: Update symbols") for the 1.4.5 bump -- the four 1.4.5
  minvers in debian/libclamav12.symbols (CLAMAV_PRIVATE, cl_retflevel@
  CLAMAV_PUBLIC, FRESHCLAM_PRIVATE, FRESHCLAM_PUBLIC) go to 1.4.6, and the
  CL_FLEVEL literal in debian/rules goes to 216. Please do sanity-check
  that, as I was trying to copy what has been done before.

* CVE-2025-8088 is not relevant to Debian: it is Windows-only. The security
  tracker marks it NOT-FOR-US. I have not mentioned it in the changelog.

* I did not do anything with git-dpm, and therefore didn't touch d/.git-dpm (it still has the 1.4.5 import).

* debian/rules runs debconf-updatepo in the `clean` target, so a plain "dpkg-buildpackage -S" rewrites all twenty debian/po/*.po files. When I did a diff between the newly built package and 1.4.5+dfsg-3, I saw all these new .po files, which surprised me. Looking at that 1.4.5+dfsg-3 source package in the archive, it still has POT-Creation-Date 2021-02-21, so I reckon these don't usually get updated by the clamav team. Therefore, I rebuilt with `-nc` and restored the .po files, so that the change is minimal. I just wanted to write this out.

If it is easier for you to just do the 1.4.6 import yourselves and ignore my
package entirely, that is completely fine. Please let me know, and I will remove it from mentors.

I hope that the changelog is written correctly. I presumed that the clamav-team will upload the package, if they so desire. If they drop it, fine. If someone else uploads it as an NMU, then the changelog will be changed accordingly I'm sure.

Kind regards,

    Edmund


--
Edmund Lodewijks <[email protected]>
TZ: UTC+2 / GMT+2
diff -Nru clamav-1.4.5+dfsg/debian/changelog clamav-1.4.6+dfsg/debian/changelog
--- clamav-1.4.5+dfsg/debian/changelog	2026-07-11 15:42:12.000000000 +0200
+++ clamav-1.4.6+dfsg/debian/changelog	2026-08-17 16:22:11.000000000 +0200
@@ -1,3 +1,21 @@
+clamav (1.4.6+dfsg-1) unstable; urgency=high
+
+  * Import 1.4.6 (Closes: #1143939)
+    - CVE-2026-20345 ("Fixed an indexing error while converting GPT
+      partition names")
+    - CVE-2026-20339 ("Fixed an integer overflow in the PESpin unpacker")
+    - CVE-2026-20346 ("Fixed an integer underflow in the PDF parser")
+    - CVE-2026-20347 ("Fixed undefined behavior and integer overflow in the
+      Mach-O parser")
+    - CVE-2026-20348 ("Fixed XAR parser size handling")
+    - Fixed thread-safety issues in the clamd STATS command that could
+      disclose process memory or crash the daemon
+  * Refresh 0004-unit_tests-Don-t-set-TMP.patch
+  * Update symbols and the CL_FLEVEL guard in d/rules for 1.4.6
+    (CL_FLEVEL 215 -> 216)
+
+ -- Edmund Lodewijks <[email protected]>  Mon, 17 Aug 2026 16:22:11 +0200
+
 clamav (1.4.5+dfsg-3) unstable; urgency=medium
 
   * Allow the testsuite in parallel
diff -Nru clamav-1.4.5+dfsg/debian/libclamav12.symbols clamav-1.4.6+dfsg/debian/libclamav12.symbols
--- clamav-1.4.5+dfsg/debian/libclamav12.symbols	2026-07-11 15:27:37.000000000 +0200
+++ clamav-1.4.6+dfsg/debian/libclamav12.symbols	2026-08-17 16:22:11.000000000 +0200
@@ -3,10 +3,10 @@
  *@CLAMAV_0.104.0 1.2.1
  *@CLAMAV_1.0.0 1.2.1
  *@CLAMAV_1.1.0 1.2.1
- *@CLAMAV_PRIVATE 1.4.5
+ *@CLAMAV_PRIVATE 1.4.6
  *@CLAMAV_PUBLIC 1.2.1
- cl_retflevel@CLAMAV_PUBLIC 1.4.5
+ cl_retflevel@CLAMAV_PUBLIC 1.4.6
 libfreshclam.so.3 libclamav12 #MINVER#
 * Build-Depends-Package: libclamav-dev
- *@FRESHCLAM_PRIVATE 1.4.5
- *@FRESHCLAM_PUBLIC 1.4.5
+ *@FRESHCLAM_PRIVATE 1.4.6
+ *@FRESHCLAM_PUBLIC 1.4.6
diff -Nru clamav-1.4.5+dfsg/debian/patches/0004-unit_tests-Don-t-set-TMP.patch clamav-1.4.6+dfsg/debian/patches/0004-unit_tests-Don-t-set-TMP.patch
--- clamav-1.4.5+dfsg/debian/patches/0004-unit_tests-Don-t-set-TMP.patch	2026-07-11 15:27:38.000000000 +0200
+++ clamav-1.4.6+dfsg/debian/patches/0004-unit_tests-Don-t-set-TMP.patch	2026-08-17 16:04:22.000000000 +0200
@@ -16,11 +16,11 @@
  unit_tests/CMakeLists.txt | 1 -
  1 file changed, 1 deletion(-)
 
-diff --git a/unit_tests/CMakeLists.txt b/unit_tests/CMakeLists.txt
-index bf7e2ef..a4d2ea4 100644
---- a/unit_tests/CMakeLists.txt
-+++ b/unit_tests/CMakeLists.txt
-@@ -205,7 +205,6 @@ else()
+Index: clamav-1.4.6+dfsg/unit_tests/CMakeLists.txt
+===================================================================
+--- clamav-1.4.6+dfsg.orig/unit_tests/CMakeLists.txt
++++ clamav-1.4.6+dfsg/unit_tests/CMakeLists.txt
+@@ -208,7 +208,6 @@ else()
  
      set(SOURCE             ${CMAKE_SOURCE_DIR})
      set(BUILD              ${CMAKE_BINARY_DIR})
diff -Nru clamav-1.4.5+dfsg/debian/rules clamav-1.4.6+dfsg/debian/rules
--- clamav-1.4.5+dfsg/debian/rules	2026-07-11 15:41:16.000000000 +0200
+++ clamav-1.4.6+dfsg/debian/rules	2026-08-17 16:22:11.000000000 +0200
@@ -99,7 +99,7 @@
 	  fi;\
 	done; \
 	# Check for library features which may have been upgraded.
-	if ! grep -q "CL_FLEVEL 215" libclamav/others.h ; then \
+	if ! grep -q "CL_FLEVEL 216" libclamav/others.h ; then \
 		echo "cl_retflevel needs boosting in symbol file"; \
 		touch debian/exit; \
 	fi;
diff -Nru clamav-1.4.5+dfsg/debian/salsa-ci.yml clamav-1.4.6+dfsg/debian/salsa-ci.yml
--- clamav-1.4.5+dfsg/debian/salsa-ci.yml	2026-07-11 15:27:37.000000000 +0200
+++ clamav-1.4.6+dfsg/debian/salsa-ci.yml	2026-08-17 10:08:52.000000000 +0200
@@ -1,3 +1,7 @@
 ---
 include:
   - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/recipes/debian.yml
+
+variables:
+  # Some RUST lines are identified as "NONVERBOSE BUILD"
+  SALSA_CI_DISABLE_BLHC: 1

Reply via email to