]> code.ossystems Code Review - openembedded-core.git/commitdiff
sudo: backport patch to address CVE 2012-0809
authorJoshua Lock <josh@linux.intel.com>
Thu, 1 Mar 2012 00:34:27 +0000 (16:34 -0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 1 Mar 2012 15:58:50 +0000 (15:58 +0000)
This is a format string vulnerability "that can be used to crash
sudo or potentially allow an unauthorized user to elevate privileges."

Signed-off-by: Joshua Lock <josh@linux.intel.com>
meta/recipes-extended/sudo/files/format-string.patch [new file with mode: 0644]
meta/recipes-extended/sudo/sudo_1.8.1p2.bb

diff --git a/meta/recipes-extended/sudo/files/format-string.patch b/meta/recipes-extended/sudo/files/format-string.patch
new file mode 100644 (file)
index 0000000..15056fd
--- /dev/null
@@ -0,0 +1,33 @@
+This patch, extracted from upstreams sudo-1.8.3p2.patch.gz addresses the
+recent Sudo format string vulnerability CVE 2012-0809.
+
+http://www.sudo.ws/sudo/alerts/sudo_debug.html
+
+Signed-off-by: Joshua Lock <josh@linux.intel.com>
+
+Upstream-Status: Backport
+
+diff -urNa sudo-1.8.3p1/src/sudo.c sudo-1.8.3p2/src/sudo.c
+--- sudo-1.8.3p1/src/sudo.c    Fri Oct 21 09:01:26 2011
++++ sudo-1.8.3p2/src/sudo.c    Tue Jan 24 15:59:03 2012
+@@ -1208,15 +1208,15 @@
+ sudo_debug(int level, const char *fmt, ...)
+ {
+     va_list ap;
+-    char *fmt2;
++    char *buf;
+     if (level > debug_level)
+       return;
+-    /* Backet fmt with program name and a newline to make it a single write */
+-    easprintf(&fmt2, "%s: %s\n", getprogname(), fmt);
++    /* Bracket fmt with program name and a newline to make it a single write */
+     va_start(ap, fmt);
+-    vfprintf(stderr, fmt2, ap);
++    evasprintf(&buf, fmt, ap);
+     va_end(ap);
+-    efree(fmt2);
++    fprintf(stderr, "%s: %s\n", getprogname(), buf);
++    efree(buf);
+ }
index b065447ed4da7a22b022162de0b6493a0b7d1d29..3694c89a42151a84dd72a6edfea44f9cb3869173 100644 (file)
@@ -1,10 +1,11 @@
 require sudo.inc
 
-PR = "r3"
+PR = "r4"
 
 SRC_URI = "http://ftp.sudo.ws/sudo/dist/sudo-${PV}.tar.gz \
            file://libtool.patch \
-          file://sudo-parallel-build.patch \ 
+          file://sudo-parallel-build.patch \
+          file://format-string.patch \
            ${@base_contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)}"
 
 PAM_SRC_URI = "file://sudo.pam"