[Bug 1876286] Re: Evolution reports "Error performing TLS handshake: Internal error in memory allocation."

Rod Rivers 1876286 at bugs.launchpad.net
Tue Jul 7 15:13:48 UTC 2020


@Joe, I’m glad to hear that it works!  FYI, Ubuntu rolls out updates slowly starting with 10% of users, increasing 10% every 6 hours if there are no problems.  This may explain why it took some time before you saw the update.  Everyone should have been able to apply the updates on Sunday.  Details are here:
https://wiki.ubuntu.com/StableReleaseUpdates#Phasing

As for other distro’s I think it is time someone else takes over.  At
this point is should be more of an administrative process since the
problem has been pinpointed and patches were made for one distro.  You
will probably have to file a bug report, point back to this bug and
follow their procedures.  Worst case the patches may have to be updated
slightly to account for different line numbers.

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to gnutls28 in Ubuntu.
https://bugs.launchpad.net/bugs/1876286

Title:
  Evolution reports "Error performing TLS handshake: Internal error in
  memory allocation."

Status in Gnutls:
  Unknown
Status in claws-mail package in Ubuntu:
  Invalid
Status in evolution package in Ubuntu:
  Invalid
Status in gnutls28 package in Ubuntu:
  Fix Released
Status in gnutls28 source package in Xenial:
  Fix Released
Status in gnutls28 source package in Bionic:
  Fix Released
Status in claws-mail source package in Focal:
  Invalid
Status in evolution source package in Focal:
  Invalid
Status in gnutls28 source package in Focal:
  Fix Released
Status in claws-mail source package in Groovy:
  Invalid
Status in evolution source package in Groovy:
  Invalid
Status in gnutls28 source package in Groovy:
  Fix Released
Status in gnutls28 package in CentOS:
  Unknown

Bug description:
  [Impact]

  Evolution and Claws email clients stopped connecting to Yahoo, AOL,
  Verizon, AT&T, Bell South, etc email servers which are run by the same
  group. Users are unable to get to their email.

  The underlying problem is that GnuTLS does not support zero length
  session tickets.  The fix works by checking that that ticket_len > 0
  prior to calling gnutls_realloc_fast().

  Nominating for SRU, fulfills: "Updates that need to be applied to
  Ubuntu packages to adjust to changes in the environment, server
  protocols, web services, and similar, i. e. where the current version
  just ceases to work."

  
  [testcase]

  GnuTLS 3.6:
  $ gnutls-cli --priority=NORMAL:-VERS-TLS1.3 pop.verizon.net:995
  [...]
  - Status: The certificate is trusted.
  *** Fatal error: Internal error in memory allocation.

  the error should be fixed with the update

  GnuTLS 3.5:
  $ gnutls-cli pop.verizon.net:995

  GnuTLS 3.4:
  $ gnutls-cli -p 995 pop.verizon.net

  
  [regression potential]

  The fix works by checking that that ticket_len > 0 prior to calling
  gnutls_realloc_fast().  This creates two separate execution paths:

  1) If the session ticket length > 0, which is the primary use case,
  the original code block will be executed.

  2) If the session ticket len is 0, then the original code block will
  be skipped.

  Testing will need to include connections to servers that return
  session ticket length > 0 as well as ones that return session ticket
  length of 0.  Wireshark can be used to look at the NewSessionTicket
  handshake message to confirm the session ticket length.

  
  [Other Info]

  The GnuTLS project's merge request 1260 fixes this bug.  It was reviewed and approved by Daiki Ueno:
  https://gitlab.com/gnutls/gnutls/-/merge_requests/1260

  According to the GnuTLS project: "We utilize two continuous integration systems, the gitlab-ci and travis.  Gitlab-CI is used to test most of the Linux systems (see .gitlab-ci.yml), and is split in two phases, build image creation and compilation/test. The build image creation is done at the gnutls/build-images subproject and uploads the image at the gitlab.com container registry. The compilation/test phase is on every commit to gnutls project."
  Here are the results of the gitlab-ci pipeline showing all 19 tests passed for merge request 1260:
  https://gitlab.com/rrivers2/gnutls/-/pipelines/149155018

  Page 8, section 3.3 of RFC5077 describes the NewSessionTicket handshake message and indicates that a zero length session ticket is a legitimate value:
  https://tools.ietf.org/pdf/rfc5077.pdf

  --------------------------

  When GnuTLS connects to servers that return zero length session
  tickets using older TLS versions it returns the error code
  GNUTLS_E_MEMORY_ERROR and the connection is closed.  This prevents
  Evolution and Claws email clients from connecting to Yahoo, AOL,
  Verizon, AT&T, Bell South, etc email servers.  Evolution displays the
  message "Error performing TLS handshake: Internal error in memory
  allocation"

  
  ProblemType: Bug
  DistroRelease: Ubuntu 18.04
  Package: libgnutls30 3.5.18-1ubuntu1.3
  ProcVersionSignature: Ubuntu 5.3.0-51.44~18.04.2-generic 5.3.18
  Uname: Linux 5.3.0-51-generic x86_64
  ApportVersion: 2.20.9-0ubuntu7.14
  Architecture: amd64
  CurrentDesktop: ubuntu:GNOME
  Date: Fri May 1 07:03:51 2020
  InstallationDate: Installed on 2017-12-12 (870 days ago)
  InstallationMedia: Ubuntu 16.04.3 LTS "Xenial Xerus" - Release amd64 (20170801)
  ProcEnviron:
   PATH=(custom, no username)
   XDG_RUNTIME_DIR=<set>
   LANG=en_US.UTF-8
   SHELL=/bin/bash
  SourcePackage: gnutls28
  UpgradeStatus: Upgraded to bionic on 2018-12-28 (489 days ago)

To manage notifications about this bug go to:
https://bugs.launchpad.net/gnutls/+bug/1876286/+subscriptions



More information about the foundations-bugs mailing list