X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=fetchmail-SA-2006-02.txt;h=199489478d0c3e5569f4ab29151fb0812cda683f;hb=c91b9afbdf2e7c96924a646013fbf0243ef18143;hp=9a8514a0af7ae8839eaaa99afb5d836c14d9fdac;hpb=175b11ec729d4ea01eb523b02a407c1d180c5480;p=~andy%2Ffetchmail diff --git a/fetchmail-SA-2006-02.txt b/fetchmail-SA-2006-02.txt index 9a8514a0..19948947 100644 --- a/fetchmail-SA-2006-02.txt +++ b/fetchmail-SA-2006-02.txt @@ -1,32 +1,40 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + fetchmail-SA-2006-02: TLS enforcement problem/MITM attack/password exposure Topics: fetchmail cannot enforce TLS Author: Matthias Andree -Version: 1.0 -Announced: 2006-11-XX +Version: 1.1 +Announced: 2007-01-04 Type: secret information disclosure Impact: fetchmail can expose cleartext password over unsecure link fetchmail may not detect man in the middle attacks Danger: medium -Credits: Isaac Wilcox (bug report, collaboration on fix) +Credits: Isaac Wilcox (bug report, testing, collaboration on fix) CVE Name: CVE-2006-5867 URL: http://fetchmail.berlios.de/fetchmail-SA-2006-02.txt Project URL: http://fetchmail.berlios.de/ Affects: fetchmail releases <= 6.3.5 - fetchmail release candidate 6.3.6-rc1 + fetchmail release candidates 6.3.6-rc1, -rc2, -rc3 -Not affected: fetchmail release candidate 6.3.6-rc2 +Not affected: fetchmail release candidates 6.3.6-rc4, -rc5 fetchmail release 6.3.6 + fetchmail release 6.3.7 -Corrected: 2006-11-12 fetchmail 6.3.6-rc2 +Corrected: 2006-11-26 fetchmail 6.3.6-rc4 0. Release history ================== -2006-11-12 internal review draft +2006-11-16 v0.01 internal review draft +2006-11-26 v0.02 revise failure cases, workaround, add acknowledgments +2006-11-27 v0.03 add more vulnerabilities +2007-01-04 v1.0 ready for release +2007-02-18 v1.1 mention 6.3.7 that fixes two regressions 1. Background @@ -44,47 +52,93 @@ control) files for fetchmail. 2. Problem description and Impact ================================= -Fetchmail has no configuration facility to enforce TLS connections. -Configuring --sslproto 'tls1' does not cause connection aborts if TLS is -not offered or the TLS handshake fails for POP3 or IMAP. -Even if fetchmail is forced to validate an TLS certificate by means of ---sslfingerprint or --sslcertck, it may expose cleartext credentials -over an unencrypted connection. +Fetchmail has had several nasty password disclosure vulnerabilities for +a long time. It was only recently that these have been found. + +V1. sslcertck/sslfingerprint options should have implied "sslproto tls1" + in order to enforce TLS negotiation, but did not. + +V2. Even with "sslproto tls1" in the config, fetches would go ahead + in plain text if STLS/STARTTLS wasn't available (not advertised, + or advertised but rejected). + +V3. POP3 fetches could completely ignore all TLS options whether + available or not because it didn't reliably issue CAPA before + checking for STLS support - but CAPA is a requisite for STLS. + Whether or not CAPAbilities were probed, depended on the "auth" + option. (Fetchmail only tried CAPA if the auth option was not set at + all, was set to gssapi, kerberos, kerberos_v4, otp, or cram-md5.) -This can cause eavesdroppers to obtain the password without fetchmail's -noticing. +V4. POP3 could fall back to using plain text passwords, even if strong + authentication had been configured. + +V5. POP2 would not complain if strong authentication or TLS had been + requested. + +This can cause eavesdroppers to obtain the password, depending on the +authentication scheme that is configured or auto-selected, and +subsequently impersonate somebody else when logging into the upstream +server. 3. Workaround ============= -Use fetchmail --ssl --sslcertck --sslproto ssl3 (or equivalent in the -run control file) if your upstream offers SSLv3-wrapped service on a -dedicated port. +If your upstream offers SSLv3-wrapped service on a dedicated port, +use fetchmail --ssl --sslcertck --sslproto ssl3 on the command line, +or equivalent in the run control file. This encrypts the whole session. 4. Solution =========== -Download and install fetchmail 6.3.6 or a newer stable release from + The earlier recommendation to install 6.3.6 is hereby updated, since + version 6.3.6 introduced two new regressions fixed in 6.3.7: one broke + KPOP altogether and one broke the automatic POP3 retries without TLS + if a server advertised TLS but then closed the connection and TLS + wasn't enforced. + +Download and install fetchmail 6.3.7 or a newer stable release from fetchmail's project site at . +5. Acknowledgments +================== + +Isaac Wilcox has been a great help with testing the fixes and getting +them right. + A. Copyright, License and Warranty ================================== -(C) Copyright 2006 by Matthias Andree, . +(C) Copyright 2007 by Matthias Andree, . Some rights reserved. -This work is licensed under the Creative Commons -Attribution-NonCommercial-NoDerivs German License. To view a copy of -this license, visit http://creativecommons.org/licenses/by-nc-nd/2.0/de/ -or send a letter to Creative Commons; 559 Nathan Abbott Way; -Stanford, California 94305; USA. +This work is licensed under the +Creative Commons Attribution-NoDerivs 3.0 Germany License (CC BY-ND 3.0). + +To view a copy of this license, visit +http://creativecommons.org/licenses/by-nd/3.0/de/deed.en +or send a letter to: + +Creative Commons +444 Castro Street +Suite 900 +MOUNTAIN VIEW, CALIFORNIA 94041 +USA + THIS WORK IS PROVIDED FREE OF CHARGE AND WITHOUT ANY WARRANTIES. Use the information herein at your own risk. END OF fetchmail-SA-2006-02.txt + +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.11 (GNU/Linux) + +iEYEARECAAYFAk9/Yg4ACgkQvmGDOQUufZVAlACglBU+3L80GdwXRplGD0jLEPYp +C8QAoJHEGU8xtgurUjt/mYiwz8u85vYY +=Io6N +-----END PGP SIGNATURE-----