Skip to content
  • Kevin J. McCarthy's avatar
    Ensure IMAP connection is closed after a connection error. · 04b06aaa
    Kevin J. McCarthy authored
    During connection, if the server provided an illegal initial response,
    Mutt "bailed", but did not actually close the connection.  The calling
    code unfortunately relied on the connection status to decide to
    continue with authentication, instead of checking the "bail" return
    value.
    
    This could result in authentication credentials being sent over an
    unencrypted connection, without $ssl_force_tls being consulted.
    
    Fix this by strictly closing the connection on any invalid response
    during connection.  The fix is intentionally small, to ease
    backporting.  A better fix would include removing the 'err_close_conn'
    label, and perhaps adding return value checking in the caller (though
    this change obviates the need for that).
    
    This addresses CVE-2020-28896.  Thanks to Gabriel Salles-Loustau for
    reporting the problem, and providing test cases to reproduce.
    04b06aaa