]> Pileus Git - ~andy/fetchmail/blob - fetchmail-SA-2011-01.txt
Merge branch 'legacy_63'
[~andy/fetchmail] / fetchmail-SA-2011-01.txt
1 -----BEGIN PGP SIGNED MESSAGE-----
2 Hash: SHA1
3
4 fetchmail-SA-2011-01: Denial of service possible in STARTTLS mode
5
6 Topics:         fetchmail denial of service in STARTTLS protocol phases
7
8 Author:         Matthias Andree
9 Version:        1.0
10 Announced:      2011-06-06
11 Type:           Unguarded blocking I/O can cause indefinite application hang
12 Impact:         Denial of service
13 Danger:         low
14 Acknowledgment: Thomas Jarosch for sending detailed report
15
16 CVE Name:       CVE-2011-1947
17 CVSSv2:         (AV:N/AC:M/Au:S/C:N/I:N/A:C/E:U/RL:O/RC:C)
18 CVSS scores:    4.7: Base 6.3 (Impact 6.9 Exploitability 6.8) Temporal 4.7
19                 This is calculated without Environmental Score.
20 URL:            http://www.fetchmail.info/fetchmail-SA-2011-01.txt
21 Project URL:    http://www.fetchmail.info/
22
23 Affects:        fetchmail releases 5.9.9 up to and including 6.3.19
24
25 Not affected:   fetchmail release 6.3.20 and newer
26
27 Corrected in:   2011-05-26 Git, among others, see commit
28                 7dc67b8cf06f74aa57525279940e180c99701314
29
30                 2011-05-29 fetchmail 6.3.20-rc3 tarball (for testing)
31
32                 2011-06-06 fetchmail 6.3.20 release tarball
33
34
35 0. Release history
36 ==================
37
38 2011-05-30 0.1  first draft (visible in Git and through oss-security)
39 2011-06-06 1.0  release
40
41
42 1. Background
43 =============
44
45 fetchmail is a software package to retrieve mail from remote POP3, IMAP,
46 ETRN or ODMR servers and forward it to local SMTP, LMTP servers or
47 message delivery agents. fetchmail supports SSL and TLS security layers
48 through the OpenSSL library, if enabled at compile time and if also
49 enabled at run time, in both SSL/TLS-wrapped mode on dedicated ports as
50 well as in-band-negotiated "STARTTLS" and "STLS" modes through the
51 regular protocol ports.
52
53
54 2. Problem description and Impact
55 =================================
56
57 Fetchmail version 5.9.9 introduced STLS support for POP3, version
58 6.0.0 added STARTTLS for IMAP. However, the actual S(TART)TLS-initiated
59 in-band SSL/TLS negotiation was not guarded by a timeout.
60
61 Depending on the operating system defaults as to TCP stream keepalive
62 mode, fetchmail hangs in excess of one week after sending STARTTLS were
63 observed if the connection failed without notifying the operating
64 system, for instance, through network outages or hard server crashes.
65
66 A malicious server that does not respond, at the network level, after
67 acknowledging fetchmail's STARTTLS or STLS request, can hold fetchmail
68 in this protocol state, and thus render fetchmail unable to complete the
69 poll, or proceed to the next server, effecting a denial of service.
70
71 SSL-wrapped mode on dedicated ports was unaffected by this problem, so
72 can be used as a workaround.
73
74
75 3. Solution
76 ===========
77
78 Install fetchmail 6.3.20 or newer.
79
80 The fetchmail source code is always available from
81 <http://developer.berlios.de/project/showfiles.php?group_id=1824>.
82
83 Distributors are encouraged to review the NEWS file and move forward to
84 6.3.20, rather than backport individual security fixes, because doing so
85 routinely misses other fixes crucial to fetchmail's proper operation,
86 for which no security announcements are issued.  Several such
87 (long-standing) bugs were fixed through recent releases, and an erratum
88 notice for SASL authentication was issued.
89
90 Fetchmail 6.3.X releases have always been made with a focus on unchanged
91 user and program interfaces so as to avoid disruptions when upgrading
92 from 6.3.X to 6.3.Y with Y > X.  Care was taken to not change the
93 interface incompatibly.
94
95
96 4. Workaround
97 =============
98
99 If supported by the server's configuration, fetchmail can be run in
100 ssl-wrapped rather than starttls mode. To that extent, the "ssl sslproto
101 ssl3" option must be configured (possibly replacing sslproto tls1 where
102 configured) to the rcfile, or "--ssl --sslproto ssl3" can be given on
103 the command line (where it applies to all poll configurations).
104
105 It is generally also advisable to enforce SSL certificate validation, by
106 either using --sslcertck on the command line, or using sslcertck in a
107 "default" configuration entry of the rcfile, or using sslcertck in
108 each of the relevant individual poll descriptions of the rcfile.
109
110
111 A. Copyright, License and Non-Warranty
112 ======================================
113
114 (C) Copyright 2011 by Matthias Andree, <matthias.andree@gmx.de>.
115 Some rights reserved.
116
117 This work is licensed under the
118 Creative Commons Attribution-NoDerivs 3.0 Germany License (CC BY-ND 3.0).
119
120 To view a copy of this license, visit
121 http://creativecommons.org/licenses/by-nd/3.0/de/deed.en
122 or send a letter to:
123
124 Creative Commons
125 444 Castro Street
126 Suite 900
127 MOUNTAIN VIEW, CALIFORNIA 94041
128 USA
129
130
131 THIS WORK IS PROVIDED FREE OF CHARGE AND WITHOUT ANY WARRANTIES.
132 Use the information herein at your own risk.
133
134 END of fetchmail-SA-2011-01
135 -----BEGIN PGP SIGNATURE-----
136 Version: GnuPG v1.4.11 (GNU/Linux)
137
138 iEYEARECAAYFAk9/Yg4ACgkQvmGDOQUufZUICACg5GqwtyAFuOamJ3JtribzMe9U
139 k20AnRLlwx4HBC/Gk3AX1dWSrrQc8WYB
140 =GFzg
141 -----END PGP SIGNATURE-----