[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1021214: bullseye-pu: package libconfuse/3.3-2+deb11u1



Package: release.debian.org
Severity: normal
Tags: bullseye
User: release.debian.org@packages.debian.org
Usertags: pu
X-Debbugs-Cc: team@security.debian.org

[ Reason ]
A heap-based buffer over-read has been found in libconfuse, labeled as
CVE-2022-40320, and reported as bug #1019596. The security team
considers this vulnerability as low severity which does not warrant a
DSA.

[ Impact ]
In case the update isn't approved, the vulnerability will still be
present users systems.

[ Tests ]
The changed code is tested by the testsuite, but there is no specific
test to check the vulnerability is fixed.

[ Risks ]
The fix is very simple and comes from upstream. It has been in
testing/sid for 2 weeks.

[ Checklist ]
  [x] *all* changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in (old)stable
  [x] the issue is verified as fixed in unstable

[ Changes ]
There is a single change in this version:
  * Add debian/patches/CVE-2022-40320.patch from upstream to fix a heap-based
    buffer over-read in cfg_tilde_expand (CVE-2022-40320).  Closes: #1019596.

The change is to ensure the string copied with strncpy is always zero
terminated.

[ Other info ]
Given the changes are minimal, I have already uploaded the package to
the archive. Thanks for considering.
diff -Nru libconfuse-3.3/debian/changelog libconfuse-3.3/debian/changelog
--- libconfuse-3.3/debian/changelog	2021-01-10 15:30:20.000000000 +0100
+++ libconfuse-3.3/debian/changelog	2022-10-04 00:14:59.000000000 +0200
@@ -1,3 +1,10 @@
+libconfuse (3.3-2+deb11u1) bullseye; urgency=medium
+
+  * Add debian/patches/CVE-2022-40320.patch from upstream to fix a heap-based
+    buffer over-read in cfg_tilde_expand (CVE-2022-40320).  Closes: #1019596.
+
+ -- Aurelien Jarno <aurel32@debian.org>  Tue, 04 Oct 2022 00:14:59 +0200
+
 libconfuse (3.3-2) unstable; urgency=medium
 
   * German translation update, by Fabian Baumanis.  Closes: #978117.
diff -Nru libconfuse-3.3/debian/patches/CVE-2022-40320.patch libconfuse-3.3/debian/patches/CVE-2022-40320.patch
--- libconfuse-3.3/debian/patches/CVE-2022-40320.patch	1970-01-01 01:00:00.000000000 +0100
+++ libconfuse-3.3/debian/patches/CVE-2022-40320.patch	2022-09-14 22:39:16.000000000 +0200
@@ -0,0 +1,37 @@
+commit d73777c2c3566fb2647727bb56d9a2295b81669b
+Author: Joachim Wiberg <troglobit@gmail.com>
+Date:   Fri Sep 2 16:12:46 2022 +0200
+
+    Fix #163: unterminated username used with getpwnam()
+    
+    Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
+
+diff --git a/src/confuse.c b/src/confuse.c
+index 6d1fdbd..05566b5 100644
+--- a/src/confuse.c
++++ b/src/confuse.c
+@@ -1894,18 +1894,20 @@ DLLIMPORT char *cfg_tilde_expand(const char *filename)
+ 			passwd = getpwuid(geteuid());
+ 			file = filename + 1;
+ 		} else {
+-			/* ~user or ~user/path */
+-			char *user;
++			char *user; /* ~user or ~user/path */
++			size_t len;
+ 
+ 			file = strchr(filename, '/');
+ 			if (file == 0)
+ 				file = filename + strlen(filename);
+ 
+-			user = malloc(file - filename);
++			len = file - filename - 1;
++			user = malloc(len + 1);
+ 			if (!user)
+ 				return NULL;
+ 
+-			strncpy(user, filename + 1, file - filename - 1);
++			strncpy(user, &filename[1], len);
++			user[len] = 0;
+ 			passwd = getpwnam(user);
+ 			free(user);
+ 		}
diff -Nru libconfuse-3.3/debian/patches/series libconfuse-3.3/debian/patches/series
--- libconfuse-3.3/debian/patches/series	2021-01-10 15:12:53.000000000 +0100
+++ libconfuse-3.3/debian/patches/series	2022-09-14 22:39:16.000000000 +0200
@@ -1 +1,2 @@
 de.po.patch
+CVE-2022-40320.patch

Reply to: