control: tag -1 patch, pending

Hi,

I've uploaded an nmu fixing this issue to delayed/5.  Let me know if I
should delay longer.  Please see attached.

Best wishes,
Mike
diff -Nru elfutils-0.159/debian/changelog elfutils-0.159/debian/changelog
--- elfutils-0.159/debian/changelog	2014-07-06 13:21:54.000000000 +0000
+++ elfutils-0.159/debian/changelog	2015-01-26 01:51:07.000000000 +0000
@@ -1,3 +1,10 @@
+elfutils (0.159-4.1) unstable; urgency=high
+
+  * Non-maintainer upload by the Security Team.
+  * Fix CVE-2014-9447: path traversal issue in ar (closes: #775536).
+
+ -- Michael Gilbert <mgilb...@debian.org>  Mon, 26 Jan 2015 01:49:30 +0000
+
 elfutils (0.159-4) unstable; urgency=medium
 
   [ Wookey ]
diff -Nru elfutils-0.159/debian/patches/CVE-2014-9447.patch elfutils-0.159/debian/patches/CVE-2014-9447.patch
--- elfutils-0.159/debian/patches/CVE-2014-9447.patch	1970-01-01 00:00:00.000000000 +0000
+++ elfutils-0.159/debian/patches/CVE-2014-9447.patch	2015-01-26 01:55:09.000000000 +0000
@@ -0,0 +1,33 @@
+From 147018e729e7c22eeabf15b82d26e4bf68a0d18e Mon Sep 17 00:00:00 2001
+From: Alexander Cherepanov <chere...@mccme.ru>
+Date: Sun, 28 Dec 2014 19:57:19 +0300
+Subject: libelf: Fix dir traversal vuln in ar extraction.
+
+read_long_names terminates names at the first '/' found but then skips
+one character without checking (it's supposed to be '\n'). Hence the
+next name could start with any character including '/'. This leads to
+a directory traversal vulnerability at the time the contents of the
+archive is extracted.
+
+The danger is mitigated by the fact that only one '/' is possible in a
+resulting filename and only in the leading position. Hence only files
+in the root directory can be written via this vuln and only when ar is
+executed as root.
+
+The fix for the vuln is to not skip any characters while looking
+for '/'.
+
+--- a/libelf/elf_begin.c
++++ b/libelf/elf_begin.c
+@@ -736,10 +736,7 @@ read_long_names (Elf *elf)
+ 	    break;
+ 
+ 	  /* NUL-terminate the string.  */
+-	  *runp = '\0';
+-
+-	  /* Skip the NUL byte and the \012.  */
+-	  runp += 2;
++	  *runp++ = '\0';
+ 
+ 	  /* A sanity check.  Somebody might have generated invalid
+ 	     archive.  */
diff -Nru elfutils-0.159/debian/patches/series elfutils-0.159/debian/patches/series
--- elfutils-0.159/debian/patches/series	2014-07-06 13:15:53.000000000 +0000
+++ elfutils-0.159/debian/patches/series	2015-01-26 01:54:23.000000000 +0000
@@ -13,3 +13,4 @@
 non_linux.patch
 unaligned.patch
 aarch64-run-native-test-fix.patch
+CVE-2014-9447.patch

Reply via email to