Merge lp:~ari-tczew/ubuntu/dapper/fetchmail/fix-CVE-2008-2711 into lp:ubuntu/dapper-security/fetchmail

Proposed by Artur Rona
Status: Rejected
Rejected by: Jamie Strandboge
Proposed branch: lp:~ari-tczew/ubuntu/dapper/fetchmail/fix-CVE-2008-2711
Merge into: lp:ubuntu/dapper-security/fetchmail
Diff against target: 94 lines (+74/-0)
3 files modified
debian/changelog (+10/-0)
debian/patches/00list (+1/-0)
debian/patches/07_fix_CVE-2008-2711_DoS.dpatch (+63/-0)
To merge this branch: bzr merge lp:~ari-tczew/ubuntu/dapper/fetchmail/fix-CVE-2008-2711
Reviewer Review Type Date Requested Status
Ubuntu Security Sponsors Team Pending
Review via email: mp+22696@code.launchpad.net
To post a comment you must log in.

Unmerged revisions

12. By Artur Rona

* SECURITY UPDATE: Corrects a denial of service attack that can crash
  fetchmail when running in -v -v mode via malformed mail messages
  with long headers (LP: #240549)
  - debian/patches/07_fix_CVE-2008-2711_DoS.dpatch
  - CVE-2008-2711

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'debian/changelog'
2--- debian/changelog 2009-08-11 12:03:52 +0000
3+++ debian/changelog 2010-04-02 16:46:27 +0000
4@@ -1,3 +1,13 @@
5+fetchmail (6.3.2-2ubuntu2.4) dapper-security; urgency=low
6+
7+ * SECURITY UPDATE: Corrects a denial of service attack that can crash
8+ fetchmail when running in -v -v mode via malformed mail messages
9+ with long headers (LP: #240549)
10+ - debian/patches/07_fix_CVE-2008-2711_DoS.dpatch
11+ - CVE-2008-2711
12+
13+ -- Artur Rona <ari-tczew@tlen.pl> Fri, 02 Apr 2010 15:34:17 +0200
14+
15 fetchmail (6.3.2-2ubuntu2.3) dapper-security; urgency=low
16
17 * SECURITY UPDATE: SSL cert validation bypass via NULL bytes.
18
19=== modified file 'debian/patches/00list'
20--- debian/patches/00list 2009-08-11 12:03:52 +0000
21+++ debian/patches/00list 2010-04-02 16:46:27 +0000
22@@ -6,3 +6,4 @@
23 05_CVE-2007-4565.dpatch
24 06_CVE-2007-1558.dpatch
25 06_cert_0_byte
26+07_fix_CVE-2008-2711_DoS
27
28=== added file 'debian/patches/07_fix_CVE-2008-2711_DoS.dpatch'
29--- debian/patches/07_fix_CVE-2008-2711_DoS.dpatch 1970-01-01 00:00:00 +0000
30+++ debian/patches/07_fix_CVE-2008-2711_DoS.dpatch 2010-04-02 16:46:27 +0000
31@@ -0,0 +1,63 @@
32+#! /bin/sh /usr/share/dpatch/dpatch-run
33+## From: Artur Rona <ari-tczew@tlen.pl>
34+## Description: CVE-2008-2711 - fetchmail 6.3.8 and earlier, when running in -v -v (aka verbose) mode, allows remote attackers to cause a denial of service (crash and persistent mail failure) via a malformed mail message with long headers, which triggers an erroneous dereference when using vsnprintf to format log messages.
35+## Origin: http://fetchmail.berlios.de/fetchmail-SA-2008-01.txt
36+## Bug: https://launchpad.net/bugs/240549
37+## Author: Matthias Andree
38+
39+@DPATCH@
40+
41+diff -pruN -x '*~' fetchmail-6.3.2.orig/report.c fetchmail-6.3.2/report.c
42+--- fetchmail-6.3.2.orig/report.c 2006-01-23 10:09:18.000000000 +0100
43++++ fetchmail-6.3.2/report.c 2010-04-02 16:04:32.000000000 +0200
44+@@ -238,12 +238,18 @@ report_build (FILE *errfp, message, va_a
45+ rep_ensuresize();
46+
47+ #if defined(VA_START)
48+- VA_START (args, message);
49+ for ( ; ; )
50+ {
51++ /*
52++ * args has to be initialized before every call of vsnprintf(),
53++ * because vsnprintf() invokes va_arg macro and thus args is
54++ * undefined after the call
55++ */
56++ VA_START (args, message);
57+ n = vsnprintf (partial_message + partial_message_size_used,
58+ partial_message_size - partial_message_size_used,
59+ message, args);
60++ va_end (args);
61+
62+ if (n < partial_message_size - partial_message_size_used)
63+ {
64+@@ -254,7 +260,6 @@ report_build (FILE *errfp, message, va_a
65+ partial_message_size += 2048;
66+ partial_message = REALLOC (partial_message, partial_message_size);
67+ }
68+- va_end (args);
69+ #else
70+ for ( ; ; )
71+ {
72+@@ -303,12 +308,13 @@ report_complete (FILE *errfp, message, v
73+ rep_ensuresize();
74+
75+ #if defined(VA_START)
76+- VA_START (args, message);
77+ for ( ; ; )
78+ {
79++ VA_START (args, message);
80+ n = vsnprintf (partial_message + partial_message_size_used,
81+ partial_message_size - partial_message_size_used,
82+ message, args);
83++ va_end (args);
84+
85+ if (n < partial_message_size - partial_message_size_used)
86+ {
87+@@ -319,7 +325,6 @@ report_complete (FILE *errfp, message, v
88+ partial_message_size += 2048;
89+ partial_message = REALLOC (partial_message, partial_message_size);
90+ }
91+- va_end (args);
92+ #else
93+ for ( ; ; )
94+ {

Subscribers

People subscribed via source and target branches

to all changes: