Important
Please do not use the auto-generated "Source code" .zip or *.tar* files from
the Assets above.
Instead, use the .tar.xz official package and its signature from below:
- fetchmail-6.6.7.tar.xz - fetchmail distribution
- fetchmail-6.6.7.tar.xz.asc - ASCII-form detached GnuPG signature
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)