diff --git a/cpio-2.6-safer_name_suffix.patch b/cpio-2.6-safer_name_suffix.patch new file mode 100644 index 0000000..8daea69 --- /dev/null +++ b/cpio-2.6-safer_name_suffix.patch @@ -0,0 +1,18 @@ +diff -up cpio-2.6/src/copyin.c.safer_name_suffix cpio-2.6/src/copyin.c +--- cpio-2.6/src/copyin.c.safer_name_suffix 2007-10-24 17:27:52.000000000 +0200 ++++ cpio-2.6/src/copyin.c 2007-11-01 15:59:39.000000000 +0100 +@@ -1382,12 +1382,13 @@ safer_name_suffix (char const *file_name + + if (prefix_len) + { +- char *prefix = alloca (prefix_len + 1); ++ char *prefix = xmalloc (prefix_len + 1); + memcpy (prefix, file_name, prefix_len); + prefix[prefix_len] = '\0'; + + + error (0, 0, _("Removing leading `%s' from member names"), prefix); ++ free(prefix); + } + + if (!*p) diff --git a/cpio.spec b/cpio.spec index 40fc864..0b55a28 100644 --- a/cpio.spec +++ b/cpio.spec @@ -3,7 +3,7 @@ Summary: A GNU archiving program Name: cpio Version: 2.6 -Release: 27%{?dist} +Release: 28%{?dist} License: GPL Group: Applications/Archiving URL: http://www.gnu.org/software/cpio/ @@ -19,8 +19,9 @@ Patch6: cpio-2.6-dirTraversal.patch Patch7: cpio-2.6-warnings.patch Patch8: cpio-2.6-checksum.patch Patch9: cpio-2.6-writeOutHeaderBufferOverflow.patch -Patch10:cpio-2.6-initHeaderStruct.patch -Patch11:cpio-2.6-setLocale.patch +Patch10: cpio-2.6-initHeaderStruct.patch +Patch11: cpio-2.6-setLocale.patch +Patch12: cpio-2.6-safer_name_suffix.patch Requires(post): /sbin/install-info Requires(preun): /sbin/install-info BuildRequires: texinfo, autoconf, gettext @@ -54,6 +55,7 @@ Install cpio if you need a program to manage file archives. %patch9 -p1 -b .bufferOverflow %patch10 -p1 -b .initHeaderStruct %patch11 -p1 -b .setLocale.patch +%patch12 -p1 -b .safer_name_suffix autoheader @@ -93,6 +95,9 @@ fi %{_infodir}/*.info* %changelog +* Fri Nov 02 2007 Radek Brich 2.6-28 +- patch for CVE-2007-4476 (stack crashing in safer_name_suffix) + * Tue Feb 20 2007 Peter Vrabec 2.6-27 - fix typo in changelog