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

Bug#755712: wheezy-pu: package exim4/4.80-7



Package: release.debian.org
Severity: normal
Tags: wheezy
User: release.debian.org@packages.debian.org
Usertags: pu

Hello,

exim 4.83 includes a fix for a minor security issue (local privilege
escalation to exim user) which I would like to fix for stable. I have
already doublechecked with debian security that fixing this via a
stable update instead of a DSA is the right thing to do.

debdiff attached.

This is CVE-2014-2972.

cu Andreas

-- 
`What a good friend you are to him, Dr. Maturin. His other friends are
so grateful to you.'
`I sew his ears on from time to time, sure'
File lists identical on package level (after any substitutions)

Control files of package exim4: lines which differ (wdiff format)
-----------------------------------------------------------------
Version: [-4.80-7-] {+4.80-7+deb7u1+}

Control files of package exim4-base: lines which differ (wdiff format)
----------------------------------------------------------------------
Version: [-4.80-7-] {+4.80-7+deb7u1+}

Control files of package exim4-config: lines which differ (wdiff format)
------------------------------------------------------------------------
Version: [-4.80-7-] {+4.80-7+deb7u1+}

Control files of package exim4-daemon-heavy: lines which differ (wdiff format)
------------------------------------------------------------------------------
Version: [-4.80-7-] {+4.80-7+deb7u1+}

Control files of package exim4-daemon-heavy-dbg: lines which differ (wdiff format)
----------------------------------------------------------------------------------
Installed-Size: [-2935-] {+2936+}
Version: [-4.80-7-] {+4.80-7+deb7u1+}

Control files of package exim4-daemon-light: lines which differ (wdiff format)
------------------------------------------------------------------------------
Version: [-4.80-7-] {+4.80-7+deb7u1+}

Control files of package exim4-daemon-light-dbg: lines which differ (wdiff format)
----------------------------------------------------------------------------------
Installed-Size: [-2591-] {+2592+}
Version: [-4.80-7-] {+4.80-7+deb7u1+}

Control files of package exim4-dbg: lines which differ (wdiff format)
---------------------------------------------------------------------
Version: [-4.80-7-] {+4.80-7+deb7u1+}

Control files of package exim4-dev: lines which differ (wdiff format)
---------------------------------------------------------------------
Version: [-4.80-7-] {+4.80-7+deb7u1+}

Control files of package eximon4: lines which differ (wdiff format)
-------------------------------------------------------------------
Version: [-4.80-7-] {+4.80-7+deb7u1+}
diff -Nru exim4-4.80/debian/changelog exim4-4.80/debian/changelog
--- exim4-4.80/debian/changelog	2013-01-02 19:37:26.000000000 +0100
+++ exim4-4.80/debian/changelog	2014-07-21 08:16:02.000000000 +0200
@@ -1,3 +1,10 @@
+exim4 (4.80-7+deb7u1) wheezy; urgency=high
+
+  * [87_double_expansion.diff] from upstream. Stop unwanted double expansion
+    of arguments to mathematical comparison operations.
+
+ -- Andreas Metzler <ametzler@debian.org>  Mon, 21 Jul 2014 07:55:47 +0200
+
 exim4 (4.80-7) unstable; urgency=low
 
   * Use exim's ${quote:xxx} operator when invoking spfquery to disallow
diff -Nru exim4-4.80/debian/patches/87_double_expansion.diff exim4-4.80/debian/patches/87_double_expansion.diff
--- exim4-4.80/debian/patches/87_double_expansion.diff	1970-01-01 01:00:00.000000000 +0100
+++ exim4-4.80/debian/patches/87_double_expansion.diff	2014-07-21 07:54:04.000000000 +0200
@@ -0,0 +1,70 @@
+Description: Fix double expansions with mathemical comparison operations.
+Author: Todd Lyons <tlyons@exim.org>
+Origin: upstream
+Forwarded: not-needed
+Last-Update: 2014-07-20
+
+Index: exim-4.80/src/expand.c
+===================================================================
+--- exim-4.80.orig/src/expand.c	2012-05-31 00:40:15.000000000 +0000
++++ exim-4.80/src/expand.c	2014-07-21 05:50:45.935359061 +0000
+@@ -14,6 +14,7 @@
+ /* Recursively called function */
+ 
+ static uschar *expand_string_internal(uschar *, BOOL, uschar **, BOOL, BOOL);
++static int_eximarith_t expanded_string_integer(uschar *, BOOL);
+ 
+ #ifdef STAND_ALONE
+ #ifndef SUPPORT_CRYPTEQ
+@@ -2115,7 +2116,7 @@ switch(cond_type)
+         }
+       else
+         {
+-        num[i] = expand_string_integer(sub[i], FALSE);
++        num[i] = expanded_string_integer(sub[i], FALSE);
+         if (expand_string_message != NULL) return NULL;
+         }
+       }
+@@ -5932,7 +5933,7 @@ while (*s != 0)
+         int_eximarith_t max;
+         uschar *s;
+ 
+-        max = expand_string_integer(sub, TRUE);
++        max = expanded_string_integer(sub, TRUE);
+         if (expand_string_message != NULL)
+           goto EXPAND_FAILED;
+         s = string_sprintf("%d", vaguely_random_number((int)max));
+@@ -6129,8 +6130,32 @@ Returns:  the integer value, or
+ int_eximarith_t
+ expand_string_integer(uschar *string, BOOL isplus)
+ {
++return expanded_string_integer(expand_string(string), isplus);
++}
++
++
++/*************************************************
++ *         Interpret string as an integer        *
++ *************************************************/
++
++/* Convert a string (that has already been expanded) into an integer.
++
++This function is used inside the expansion code.
++
++Arguments:
++  s       the string to be expanded
++  isplus  TRUE if a non-negative number is expected
++
++Returns:  the integer value, or
++          -1 if string is NULL (which implies an expansion error)
++          -2 for an integer interpretation error
++          expand_string_message is set NULL for an OK integer
++*/
++
++static int_eximarith_t
++expanded_string_integer(uschar *s, BOOL isplus)
++{
+ int_eximarith_t value;
+-uschar *s = expand_string(string);
+ uschar *msg = US"invalid integer \"%s\"";
+ uschar *endptr;
+ 
diff -Nru exim4-4.80/debian/patches/series exim4-4.80/debian/patches/series
--- exim4-4.80/debian/patches/series	2012-11-25 09:27:27.000000000 +0100
+++ exim4-4.80/debian/patches/series	2014-07-21 07:54:41.000000000 +0200
@@ -16,3 +16,4 @@
 84_CVE-2012-5671.patch
 85_server_set_id_SPA.diff
 86_Dovecot-robustness.diff
+87_double_expansion.diff

Attachment: signature.asc
Description: Digital signature


Reply to: