|
From: Matthias A. <mat...@gm...> - 2026-08-29 11:25:22
|
The 6.6.7 release of fetchmail is now available at the usual locations, including <https://downloads.sourceforge.net/project/fetchmail/branch_6.6/>. The source archive is available at: <https://downloads.sourceforge.net/project/fetchmail/branch_6.6/fetchmail-6.6.7.tar.xz/download> The detached GnuPG signature is available at: <https://downloads.sourceforge.net/project/fetchmail/branch_6.6/fetchmail-6.6.7.tar.xz.asc/download> The SHA256 hashes for the tarballs are: SHA2-256(fetchmail-6.6.7.tar.xz)= bece8aaaa68e029eed9fd55fffd2adc7dd6cd5e9574d5bf92e2d9208bd97a881 Here are the release notes: -------------------------------------------------------------------------------- fetchmail-6.6.7 (released 2026-08-29, 31229 LoC): ## BUGFIXES: * Safeguard internal NTLM buffer handling to avoid overrun if server sends extremely long fields in the challenge, to avoid stack corruption. Reported by "Tristan". The code will report the buffer sizing issue and abort the NTLM authentication flow properly so that it's clear that message sizes are the issue. Fetchmail 6.6.7 currently supports 1 kByte of NTLM payload for each of the three messages, plus header. Earlier reports of this bug overestimated the impact. While the bug indeed can write beyond the end of a stack-based buffer, it is reaching into another stack-based buffer that is at least 2048 bytes large, whereas the overflow is a few dozen bytes at most. The worst impact is that the NegotiateFlags value in the final Authenticate Message step of the NTLM authentication protocol gets messed up and the authentication fails. It COULD previously happen, depending on hardening, stack protection and other compiler flags that these _protections_ terminated fetchmail because one write to a data structure crosses into an other variable that is adjacent, on normal stack layouts that "victim" would be the challenge message, which was already read except for its "flags" value. The termination can happen, for instance, with the Address Sanitizer feature, or other features that separate variables into pages of their own or put "canary"/sentinel values between them in the memory layout. NOTE: NTLM is based on obsolete cryptographic mechanisms and should not be used without TLS or SSL security for the transport. NOTE: fetchmail 7 will remove support for NTLM and MSN authentication. Microsoft (which owns the specification) generally advises that applications should not use NTLM, and is replacing with with Kerberos, see [MS-NLMP]: NT LAN Manager (NTLM) Authentication Protocol, https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-nlmp/ See Introduction and Security Considerations for Implements (In Version 37.0 of the spec, sections 1 and 5.1 on page 84) Since this _was_ initially reported as a stack smashing vulnerability, a security announcement fetchmail-SA-2026-01 has been issued to reduce the severity of the impact in public reporting. * The IMAP protocol exchange was made stricter, (1) it will validate tagged responses that we received the right response to make sure fetchmail and the IMAP server are still in synch, (2) it will no longer accept the response words OK, NO, BAD, BYE if there is trailing garbage, and will now reject "OKAY" or "NONE", which would previously be accepted as aliases for OK or NO. * For NTLM: Made protocol exchange more robust and make it track errors and SASL cancellation better to avoid hangs if NTLM does not work but other authentication schemes do or NTLM gets rejected by the server. * Handling of escape sequences in the rcfile has been bugfixed to handle all ISO C escape sequences and handle octal escapes more strictly. * The AC_LIBOBJ extensions have been moved to a lib/ subdirectory in an attempt to fix build issues on Cygwin, see #96 reported by Achim. ## TRANSLATION UPDATES were contributed by these fine people - thank you! * eo: Keith Bowes [Esperanto] * ja: Takeshi Hamasaki [Japanese] * ro: Remus-Gabriel Chelu [Romanian] * cs: Petr Pisar [Czech] * es: Cristian Othón Martínez Vera [Spanish] * sv: Göran Uddeborg [Swedish] * fr: Frédéric Marchal [French] * pl: Jakub Bogusz [Polish] * it: Luca Vercelli [Italian] (listed in random order) ------------------------------------------------------------------------------- |