diff options
author | Matthias Andree <matthias.andree@gmx.de> | 2021-07-07 16:22:57 +0200 |
---|---|---|
committer | Matthias Andree <matthias.andree@gmx.de> | 2021-07-28 18:26:01 +0200 |
commit | c546c8299243a10a7b85c638e0e61396ecd5d8b5 (patch) | |
tree | ed9366f66df54cd33f072faae458b1e2cc92e095 /NEWS | |
parent | d2f0bbde20a0e1b1c6ec3cf326ef4035829b392c (diff) | |
download | fetchmail-c546c8299243a10a7b85c638e0e61396ecd5d8b5.tar.gz fetchmail-c546c8299243a10a7b85c638e0e61396ecd5d8b5.tar.bz2 fetchmail-c546c8299243a10a7b85c638e0e61396ecd5d8b5.zip |
Fix SIGSEGV when resizing report*() buffer.
Reported (with a different patch suggestion) by
Christian Herdtweck <christian.herdtweck@intra2net.com>.
Note that vsnprintf() calls va_arg(), and depending on operating system,
compiler, configuration, this will invalidate the va_list argument
pointer, so that va_start has to be called again before a subsequent
vsnprintf(). However, it is better to do away with the loop and the
trial-and-error, and leverage the return value of vsnprintf instead for
a direct one-off resizing, whilst taking into account that on SUSv2
systems, the return value can be useless if the size argument to
vsnprintf is 0.
Diffstat (limited to 'NEWS')
-rw-r--r-- | NEWS | 18 |
1 files changed, 18 insertions, 0 deletions
@@ -82,6 +82,24 @@ removed from a 6.5.0 or newer release.) server to test against. Use GSSAPI. -------------------------------------------------------------------------------- +fetchmail-6.4.20 (not yet released): + +# SECURITY FIX: +* When a log message exceeds c. 2 kByte in size, for instance, with very long + header contents, and depending on verbosity option, fetchmail can crash or + misreport each first log message that requires a buffer reallocation. + fetchmail then reallocates memory and re-runs vsnprintf() without another + call to va_start(), so it reads garbage. The exact impact depends on + many factors around the compiler and operating system configurations used and + the implementation details of the stdarg.h interfaces of the two functions + mentioned before. To fix CVE-2021-38386. + + Reported by Christian Herdtweck of Intra2net AG, Tübingen, Germany. + + He also offered a patch, which I could not take for fetchmail 6.4 because + it required a C99 system and I'd promised earlier that 6.4 would remain + compatible with C89 systems. +-------------------------------------------------------------------------------- fetchmail-6.4.19 (released 2021-04-24, 30026 LoC): # CHANGE: |