Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#11868 closed enhancement (fixed)

gnutls-3.6.7 (CVE-2019-3829 CVE-2019-3836)

Reported by: Douglas R. Reno Owned by: Bruce Dubbs
Priority: high Milestone: 9.0
Component: BOOK Version: SVN
Severity: normal Keywords:


New point version

 I've just released gnutls 3.6.7. This is a bug fix and security
release on the stable 3.6.x branch. 

I'd like to thank everyone who contributed in this release:
Alon Bar-Lev, Anderson Toshiyuki Sasaki, Andreas Metzler, Bas van
Schaik, Daiki Ueno, Dmitry Eremin-Solenikov, Hugo Beauzée-Luyssen,
Ke Zhao, R. Andrew Bailey, Steve Lhomme, and Tim Rühsen.

The applicable security advisory GNUTLS-SA-2019-03-27 will be made
available at:

The detailed list of changes follows; they can be seen in more detail
in our milestone tracker:


* Version 3.6.7 (released 2019-03-27)

** libgnutls, gnutls tools: Every gnutls_free() will automatically set
   the free'd pointer to NULL. This prevents possible use-after-free and
   double free issues. Use-after-free will be turned into NULL dereference.
   The counter-measure does not extend to applications using gnutls_free().

** libgnutls: Fixed a memory corruption (double free) vulnerability in the
   certificate verification API. Reported by Tavis Ormandy; addressed with
   the change above. [GNUTLS-SA-2019-03-27, #694]

** libgnutls: Fixed an invalid pointer access via malformed TLS1.3 async messages;
   Found using tlsfuzzer. [GNUTLS-SA-2019-03-27, #704]

** libgnutls: enforce key usage limitations on certificates more actively.
   Previously we would enforce it for TLS1.2 protocol, now we enforce it
   even when TLS1.3 is negotiated, or on client certificates as well. When
   an inappropriate for TLS1.3 certificate is seen on the credentials structure
   GnuTLS will disable TLS1.3 support for that session (#690).

** libgnutls: the default number of tickets sent under TLS 1.3 was increased to
   two. This makes it easier for clients which perform multiple connections
   to the server to use the tickets sent by a default server.

** libgnutls: enforce the equality of the two signature parameters fields in
   a certificate. We were already enforcing the signature algorithm, but there
   was a bug in parameter checking code.

** libgnutls: fixed issue preventing sending and receiving from different
   threads when false start was enabled (#713).

** libgnutls: the flag GNUTLS_PKCS11_OBJ_FLAG_LOGIN_SO now implies a writable
   session, as non-writeable security officer sessions are undefined in PKCS#11

** libgnutls: no longer send downgrade sentinel in TLS 1.3.
   Previously the sentinel value was embedded to early in version
   negotiation and was sent even on TLS 1.3. It is now sent only when
   TLS 1.2 or earlier is negotiated (#689).

** gnutls-cli: Added option --logfile to redirect informational messages output.

** API and ABI modifications:
No changes since last version.

It was found using the TLS fuzzer tools that decoding a malformed TLS1.3 asynchronous message can cause a server crash via an invalid pointer access. The issue affects GnuTLS server applications since 3.6.4. The issue was reported in issue tracker as #704.
Tavis Ormandy from Google Project Zero found a memory corruption (double free) vulnerability in the certificate verification API. Any client or server application that verifies X.509 certificates with GnuTLS 3.5.8 or later is affected. The issue was reported in issue tracker as #694.

Recommendation: To address the issues found upgrade to GnuTLS 3.6.7 or later versions.

Change History (3)

comment:1 by Bruce Dubbs, 4 years ago

Owner: changed from blfs-book to Bruce Dubbs
Status: newassigned

comment:2 by Bruce Dubbs, 4 years ago

Resolution: fixed
Status: assignedclosed

Fixed at revision 21407.

comment:3 by Bruce Dubbs, 4 years ago

Milestone: 8.59.0

Milestone renamed

Note: See TracTickets for help on using tickets.